次の方法で共有


SqlConnectionStringBuilder クラス

定義

SqlConnection クラスで使用される接続文字列の内容を簡単に作成および管理できます。

public ref class SqlConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class SqlConnectionStringBuilder
Inherits DbConnectionStringBuilder
継承
SqlConnectionStringBuilder
属性

次のコンソール アプリケーションは、SQL Server データベースの接続文字列をビルドします。 このコードでは、SqlConnectionStringBuilder クラスを使用して接続文字列を作成します。 次に、接続文字列を解析し、その内容を操作するさまざまな方法を示します。

// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder = new(
    "Server=(local);Integrated Security=true;" +
    "Initial Catalog=AdventureWorks"
    );

// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine($"Original connection string: '{builder.ConnectionString}'");

// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine($"Initial catalog: '{builder.InitialCatalog}'");
builder.InitialCatalog = "Northwind";
builder.AsynchronousProcessing = true;

// You can refer to connection keys using strings,
// as well. When you use this technique (the default
// Item property in Visual Basic, or the indexer in C#),
// you can specify any synonym for the connection string key name.
builder["Server"] = ".";
builder["Connect Timeout"] = 1000;
builder["Trusted_Connection"] = true;
Console.WriteLine($"Modified connection string: '{builder.ConnectionString}'");
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        ' Create a new SqlConnectionStringBuilder and
        ' initialize it with a few name/value pairs:
        Dim builder As New SqlConnectionStringBuilder(
            "Server=(local);Integrated Security=true;" &
            "Initial Catalog=AdventureWorks"
            )

        ' The input connection string used the 
        ' Server key, but the new connection string uses
        ' the well-known Data Source key instead.
        Console.WriteLine("Original connection string: " + builder.ConnectionString)

        ' Now that the connection string has been parsed,
        ' you can work with individual items.
        Console.WriteLine("Initial catalog: " + builder.InitialCatalog)
        builder.InitialCatalog = "Northwind"
        builder.AsynchronousProcessing = True

        ' You can refer to connection keys using strings, 
        ' as well. When you use this technique (the default
        ' Item property in Visual Basic, or the indexer in C#)
        ' you can specify any synonym for the connection string key
        ' name.
        builder("Server") = "."
        builder("Connect Timeout") = 1000

        ' The Item property is the default for the class, 
        ' and setting the Item property adds the value to the 
        ' dictionary, if necessary. 
        builder.Item("Trusted_Connection") = True
        Console.WriteLine("Modified connection string: " + builder.ConnectionString)
    End Sub
End Module

注釈

接続文字列ビルダーを使用すると、開発者はプログラムで構文的に正しい接続文字列を作成し、クラスのプロパティとメソッドを使用して既存の接続文字列を解析して再構築できます。 接続文字列ビルダーは、SQL Server で許可されている既知のキーと値のペアに対応する厳密に型指定されたプロパティを提供します。 アプリの一部として接続文字列を作成する必要がある場合は、SqlConnectionStringBuilder クラスを使用して接続文字列をビルドおよび変更できます。 また、このクラスを使用すると、アプリケーション構成ファイルに格納されている接続文字列を簡単に管理できます。

SqlConnectionStringBuilder は、有効なキーと値のペアのチェックを実行します。 そのため、このクラスを使用して無効な接続文字列を作成することはできません。無効なペアを追加しようとすると、例外がスローされます。 このクラスは、シノニムの固定コレクションを保持し、シノニムから対応する既知のキー名に変換できます。

たとえば、Item プロパティを使用して値を取得する場合は、必要なキーのシノニムを含む文字列を指定できます。 たとえば、Item[String] プロパティや Remove メソッドなど、キー名を含む文字列を必要とするメンバーを使用する場合は、接続文字列内でこのキーの "ネットワーク アドレス"、"addr"、またはその他の許容されるシノニムを指定できます。 許容されるシノニムの完全な一覧については、ConnectionString プロパティを参照してください。

Item[String] プロパティは、悪意のあるエントリの挿入試行を処理します。 たとえば、次のコードでは、既定の Item プロパティ (C# のインデクサー) を使用すると、入れ子になったキーと値のペアが正しくエスケープされます。

Dim builder As New System.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.SqlClient.SqlConnectionStringBuilder builder =
  new System.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);

結果は、無効な値を安全な方法で処理する次の接続文字列です。

Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True

コンストラクター

SqlConnectionStringBuilder()

SqlConnectionStringBuilder クラスの新しいインスタンスを初期化します。

SqlConnectionStringBuilder(String)

SqlConnectionStringBuilder クラスの新しいインスタンスを初期化します。 指定された接続文字列は、インスタンスの内部接続情報のデータを提供します。

プロパティ

ApplicationIntent

SQL Server 可用性グループ内のデータベースに接続するときに、アプリケーションワークロードの種類を宣言します。 このプロパティの値は、ApplicationIntentで設定できます。 Always On 可用性グループに対する SqlClient サポートの詳細については、「SqlClient の高可用性、ディザスター リカバリーのサポート」を参照してください。

ApplicationName

接続文字列に関連付けられているアプリケーションの名前を取得または設定します。

AsynchronousProcessing

この接続文字列を使用して作成された接続で非同期処理が許可されるかどうかを示すブール値を取得または設定します。

AttachDBFilename

プライマリ データ ファイルの名前を含む文字列を取得または設定します。 これには、アタッチ可能なデータベースの完全なパス名が含まれます。

Authentication

接続文字列の認証を取得します。

BrowsableConnectionString

ConnectionString プロパティが Visual Studio デザイナーに表示されるかどうかを示す値を取得または設定します。

(継承元 DbConnectionStringBuilder)
ColumnEncryptionSetting

接続文字列ビルダーの列暗号化設定を取得または設定します。

ConnectionReset
古い.

廃れた。 接続プールから描画されたときに接続がリセットされるかどうかを示すブール値を取得または設定します。

ConnectionString

DbConnectionStringBuilderに関連付けられている接続文字列を取得または設定します。

(継承元 DbConnectionStringBuilder)
ConnectRetryCount

アイドル状態の接続エラーが発生したことを識別した後に試行された再接続の数。 これは、0 から 255 までの整数である必要があります。 既定値は 1 です。 アイドル状態の接続エラー時に再接続を無効にするには、0 に設定します。 許容範囲外の値に設定すると、ArgumentException がスローされます。

ConnectRetryInterval

アイドル状態の接続エラーが発生したことを特定した後の各再接続試行の間の時間 (秒単位)。 1 ~ 60 の整数を指定する必要があります。 既定値は 10 秒です。 許容範囲外の値に設定すると、ArgumentException がスローされます。

ConnectTimeout

試行を終了してエラーを生成する前に、サーバーへの接続を待機する時間 (秒単位) を取得または設定します。

ContextConnection

SQL Server へのクライアント/サーバーまたはインプロセス接続を行う必要があるかどうかを示す値を取得または設定します。

Count

ConnectionString プロパティに含まれるキーの現在の数を取得します。

(継承元 DbConnectionStringBuilder)
CurrentLanguage

SQL Server 言語レコード名を取得または設定します。

DataSource

接続する SQL Server のインスタンスの名前またはネットワーク アドレスを取得または設定します。

EnclaveAttestationUrl

エンクレーブ ベースの Always Encrypted で使用するエンクレーブ構成証明 URL を取得または設定します。

Encrypt

サーバーに証明書がインストールされている場合に、クライアントとサーバーの間で送信されるすべてのデータに対して SQL Server が SSL 暗号化を使用するかどうかを示すブール値を取得または設定します。

Enlist

SQL Server 接続プーラーが作成スレッドの現在のトランザクション コンテキストで接続を自動的に参加させるかどうかを示すブール値を取得または設定します。

FailoverPartner

プライマリ サーバーがダウンしている場合に接続するパートナー サーバーの名前またはアドレスを取得または設定します。

InitialCatalog

接続に関連付けられているデータベースの名前を取得または設定します。

IntegratedSecurity

接続でユーザー ID とパスワードを指定する (false場合) か、現在の Windows アカウントの資格情報を認証に使用するか (true場合) を示すブール値を取得または設定します。

IsFixedSize

SqlConnectionStringBuilder に固定サイズがあるかどうかを示す値を取得します。

IsFixedSize

DbConnectionStringBuilder に固定サイズがあるかどうかを示す値を取得します。

(継承元 DbConnectionStringBuilder)
IsReadOnly

DbConnectionStringBuilder が読み取り専用かどうかを示す値を取得します。

(継承元 DbConnectionStringBuilder)
Item[String]

指定したキーに関連付けられている値を取得または設定します。 C# では、このプロパティはインデクサーです。

Keys

SqlConnectionStringBuilder内のキーを含む ICollection を取得します。

LoadBalanceTimeout

接続が破棄されるまでの接続プールでの接続の最小時間 (秒単位) を取得または設定します。

MaxPoolSize

この特定の接続文字列に対して接続プールで許可される接続の最大数を取得または設定します。

MinPoolSize

この特定の接続文字列に対して接続プールで許可される接続の最小数を取得または設定します。

MultipleActiveResultSets

true の場合、アプリケーションは複数のアクティブな結果セット (MARS) を維持できます。 false の場合、アプリケーションは、その接続で他のバッチを実行する前に、1 つのバッチからすべての結果セットを処理または取り消す必要があります。

詳細については、「複数のアクティブな結果セット (MARS)を する」を参照してください。

MultiSubnetFailover

アプリケーションが異なるサブネット上の Always On 可用性グループ (AG) または Always On フェールオーバー クラスター インスタンス (FCI) に接続している場合、MultiSubnetFailover=true を設定すると、(現在) アクティブなサーバーの検出と接続が高速化されます。 Always On 機能に対する SqlClient のサポートの詳細については、「SqlClient の高可用性、ディザスター リカバリーのサポート」を参照してください。

NetworkLibrary

SQL Server への接続を確立するために使用するネットワーク ライブラリの名前を含む文字列を取得または設定します。

PacketSize

SQL Server のインスタンスとの通信に使用されるネットワーク パケットのサイズをバイト単位で取得または設定します。

Password

SQL Server アカウントのパスワードを取得または設定します。

PersistSecurityInfo

パスワードやアクセス トークンなどのセキュリティに依存する情報を、この SqlConnectionStringBuilder で作成された接続の接続文字列の一部として返す必要があるかどうかを示す値を取得または設定します。

PoolBlockingPeriod

接続プールのブロック期間の動作。

Pooling

接続が要求されるたびに接続をプールするか明示的に開くかを示すブール値を取得または設定します。

Replication

接続を使用してレプリケーションがサポートされているかどうかを示すブール値を取得または設定します。

TransactionBinding

参加している System.Transactions トランザクションとの接続の関連付けを維持する方法を示す文字列値を取得または設定します。

TransparentNetworkIPResolution

このキーの値が trueに設定されている場合、アプリケーションは特定の DNS エントリのすべての IP アドレスを取得し、一覧の最初の IP アドレスとの接続を試みる必要があります。 接続が 0.5 秒以内に確立されていない場合、アプリケーションは他のすべての接続を並列で試行します。 最初に回答すると、アプリケーションは回答者の IP アドレスとの接続を確立します。

TrustServerCertificate

信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示す値を取得または設定します。

TypeSystemVersion

アプリケーションで想定される型システムを示す文字列値を取得または設定します。

UserID

SQL Server に接続するときに使用するユーザー ID を取得または設定します。

UserInstance

既定の SQL Server Express インスタンスから、呼び出し元のアカウントで実行されているランタイム開始インスタンスに接続をリダイレクトするかどうかを示す値を取得または設定します。

Values

SqlConnectionStringBuilderの値を含む ICollection を取得します。

WorkstationID

SQL Server に接続するワークステーションの名前を取得または設定します。

メソッド

Add(String, Object)

指定したキーと値を持つエントリを DbConnectionStringBuilderに追加します。

(継承元 DbConnectionStringBuilder)
Clear()

SqlConnectionStringBuilder インスタンスの内容をクリアします。

ClearPropertyDescriptors()

関連付けられている DbConnectionStringBuilder上の PropertyDescriptor オブジェクトのコレクションをクリアします。

(継承元 DbConnectionStringBuilder)
ContainsKey(String)

SqlConnectionStringBuilder に特定のキーが含まれているかどうかを判断します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
EquivalentTo(DbConnectionStringBuilder)

この DbConnectionStringBuilder オブジェクト内の接続情報と、指定されたオブジェクト内の接続情報を比較します。

(継承元 DbConnectionStringBuilder)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperties(Hashtable)

指定された Hashtable に、この DbConnectionStringBuilderのすべてのプロパティに関する情報を入力します。

(継承元 DbConnectionStringBuilder)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Remove(String)

指定したキーを持つエントリを SqlConnectionStringBuilder インスタンスから削除します。

ShouldSerialize(String)

指定したキーがこの SqlConnectionStringBuilder インスタンスに存在するかどうかを示します。

ToString()

この DbConnectionStringBuilderに関連付けられている接続文字列を返します。

(継承元 DbConnectionStringBuilder)
TryGetValue(String, Object)

この SqlConnectionStringBuilderから、指定されたキーに対応する値を取得します。

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32)

特定の Array インデックスから始まる ICollection の要素を Arrayにコピーします。

(継承元 DbConnectionStringBuilder)
ICollection.IsSynchronized

ICollection へのアクセスが同期されているかどうかを示す値を取得します (スレッド セーフ)。

(継承元 DbConnectionStringBuilder)
ICollection.SyncRoot

ICollectionへのアクセスを同期するために使用できるオブジェクトを取得します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

コンポーネントのこのインスタンスのカスタム属性のコレクションを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

コンポーネントのこのインスタンスのクラス名を返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

コンポーネントのこのインスタンスの名前を返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

コンポーネントのこのインスタンスの型コンバーターを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

コンポーネントのこのインスタンスの既定のイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

コンポーネントのこのインスタンスの既定のプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

コンポーネントのこのインスタンスの指定した型のエディターを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

コンポーネントのこのインスタンスのイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

指定した属性配列をフィルターとして使用して、コンポーネントのこのインスタンスのイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

コンポーネントのこのインスタンスのプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

属性配列をフィルターとして使用して、コンポーネントのこのインスタンスのプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

指定したプロパティ記述子によって記述されたプロパティを含むオブジェクトを返します。

(継承元 DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

指定されたキーと値を持つ要素を IDictionary オブジェクトに追加します。

(継承元 DbConnectionStringBuilder)
IDictionary.Contains(Object)

IDictionary オブジェクトに、指定したキーを持つ要素が含まれているかどうかを判断します。

(継承元 DbConnectionStringBuilder)
IDictionary.GetEnumerator()

IDictionary オブジェクトの IDictionaryEnumerator オブジェクトを返します。

(継承元 DbConnectionStringBuilder)
IDictionary.IsFixedSize

IDictionary オブジェクトのサイズが固定されているかどうかを示す値を取得します。

(継承元 DbConnectionStringBuilder)
IDictionary.IsReadOnly

IDictionary が読み取り専用かどうかを示す値を取得します。

(継承元 DbConnectionStringBuilder)
IDictionary.Item[Object]

指定したキーを持つ要素を取得または設定します。

(継承元 DbConnectionStringBuilder)
IDictionary.Remove(Object)

指定したキーを持つ要素を IDictionary オブジェクトから削除します。

(継承元 DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

コレクションを反復処理する列挙子を返します。

(継承元 DbConnectionStringBuilder)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定した型に基づいて、IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryableに変換します。

適用対象

こちらもご覧ください