Exemple #1
0
        /// <inheritdoc />
        public async Task <SqlConnection> GetSqlConnectionAsync(string initialCatalog = null, CancellationToken cancellationToken = default)
        {
            SqlConnection sqlConnection;
            string        sqlConnectionString = await _sqlConnectionStringProvider.GetSqlConnectionString(cancellationToken);

            if (string.IsNullOrEmpty(sqlConnectionString))
            {
                throw new InvalidOperationException("The SQL connection string cannot be null or empty.");
            }

            if (initialCatalog == null)
            {
                sqlConnection = new SqlConnection(sqlConnectionString);
            }
            else
            {
                SqlConnectionStringBuilder connectionBuilder = new SqlConnectionStringBuilder(sqlConnectionString)
                {
                    InitialCatalog = initialCatalog
                };
                sqlConnection = new SqlConnection(connectionBuilder.ToString());
            }

            var result = await _accessTokenHandler.GetAccessTokenAsync(_azureResource, cancellationToken);

            sqlConnection.AccessToken = result;

            return(sqlConnection);
        }
        /// <inheritdoc />
        public async Task <SqlConnection> GetSqlConnectionAsync(string initialCatalog = null, CancellationToken cancellationToken = default)
        {
            EnsureArg.IsNotNullOrEmpty(_sqlServerDataStoreConfiguration.ConnectionString);

            SqlConnection sqlConnection;

            if (initialCatalog == null)
            {
                sqlConnection = new SqlConnection(_sqlServerDataStoreConfiguration.ConnectionString);
            }
            else
            {
                SqlConnectionStringBuilder connectionBuilder = new SqlConnectionStringBuilder(_sqlServerDataStoreConfiguration.ConnectionString)
                {
                    InitialCatalog = initialCatalog
                };
                sqlConnection = new SqlConnection(connectionBuilder.ToString());
            }

            var result = await _accessTokenHandler.GetAccessTokenAsync(_azureResource, cancellationToken);

            sqlConnection.AccessToken = result;

            return(sqlConnection);
        }