SqlConnectionStringBuilder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
例
次のコンソール アプリケーションは、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 とパスワードを指定する ( |
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 |
参加している |
TransparentNetworkIPResolution |
このキーの値が |
TrustServerCertificate |
信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示す値を取得または設定します。 |
TypeSystemVersion |
アプリケーションで想定される型システムを示す文字列値を取得または設定します。 |
UserID |
SQL Server に接続するときに使用するユーザー ID を取得または設定します。 |
UserInstance |
既定の SQL Server Express インスタンスから、呼び出し元のアカウントで実行されているランタイム開始インスタンスに接続をリダイレクトするかどうかを示す値を取得または設定します。 |
Values |
SqlConnectionStringBuilderの値を含む ICollection を取得します。 |
WorkstationID |
SQL Server に接続するワークステーションの名前を取得または設定します。 |
メソッド
明示的なインターフェイスの実装
拡張メソッド
Cast<TResult>(IEnumerable) |
IEnumerable の要素を指定した型にキャストします。 |
OfType<TResult>(IEnumerable) |
指定した型に基づいて、IEnumerable の要素をフィルター処理します。 |
AsParallel(IEnumerable) |
クエリの並列化を有効にします。 |
AsQueryable(IEnumerable) |
IEnumerable を IQueryableに変換します。 |
適用対象
こちらもご覧ください
.NET