SqlConnection.ConnectionString プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server データベースを開くために使用する文字列を取得または設定します。
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
プロパティ値
ソース データベース名と、初期接続を確立するために必要なその他のパラメーターを含む接続文字列。 既定値は空の文字列です。
- 属性
例外
無効な接続文字列引数が指定されているか、必要な接続文字列引数が指定されていません。
例
次の例では、接続を開く前に SqlConnection を作成し、 ConnectionString プロパティを設定します。
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
OpenSqlConnection();
Console.ReadLine();
}
private static void OpenSqlConnection()
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
Console.WriteLine("State: {0}", connection.State);
Console.WriteLine("ConnectionString: {0}",
connection.ConnectionString);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"
+ "Integrated Security=true;";
}
}
次の例では、接続を開く前に SqlConnection を作成し、 ConnectionString プロパティを設定します。
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
OpenSqlConnection();
Console.ReadLine();
}
private static void OpenSqlConnection()
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
Console.WriteLine("State: {0}", connection.State);
Console.WriteLine("ConnectionString: {0}",
connection.ConnectionString);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"
+ "Integrated Security=true;";
}
}
注釈
ConnectionStringは OLE DB 接続文字列に似ていますが、同じではありません。 OLE DB または ADO とは異なり、返される接続文字列は、ユーザー セットの ConnectionStringと同じです。[セキュリティ情報の保持] 値が false (既定値) に設定されている場合は、セキュリティ情報を差し引きます。 [セキュリティ情報の保持] を [ true] に設定しない限り、.NET Framework Data Provider for SQL Server は接続文字列にパスワードを保持または返しません。
ConnectionString プロパティを使用して、データベースに接続できます。 次の例は、一般的な接続文字列を示しています。
"Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)"
新しい SqlConnectionStringBuilder を使用して、実行時に有効な接続文字列を作成します。 詳細については、「接続文字列ビルダー」をご覧ください。
ConnectionString プロパティは、接続が閉じている場合にのみ設定できます。 接続文字列の値の多くは、対応する読み取り専用プロパティを持ちます。 接続文字列が設定されると、エラーが検出された場合を除き、これらのプロパティが更新されます。 この場合、どのプロパティも更新されません。 SqlConnection プロパティは、 ConnectionStringに含まれている設定のみを返します。
ローカル コンピューターに接続するには、サーバーの "(local)" を指定します。 サーバー名が指定されていない場合、ローカル コンピューター上の既定のインスタンスへの接続が試行されます。
閉じた接続で ConnectionString をリセットすると、パスワードを含むすべての接続文字列値 (および関連プロパティ) がリセットされます。 たとえば、"Database= AdventureWorks" を含む接続文字列を設定し、接続文字列を "Data Source=myserver" にリセットするとします。Integrated Security=true"、 Database プロパティが "AdventureWorks" に設定されなくなりました。
接続文字列は、設定された直後に解析されます。 構文の解析時にエラーが見つかった場合は、 ArgumentExceptionなどのランタイム例外が生成されます。 その他のエラーは、接続を開こうとした場合にのみ見つかります。
接続文字列の基本形式には、セミコロンで区切られた一連のキーワードと値のペアが含まれます。 等号 (=) は、各キーワードとその値を接続します。 セミコロン、一重引用符、または二重引用符を含む値を含めるには、値を二重引用符で囲む必要があります。 値にセミコロンと二重引用符の両方が含まれている場合、値は単一引用符で囲むことができます。 単一引用符は、値が二重引用符で始まる場合にも便利です。 逆に、値が単一引用符で始まる場合は、二重引用符を使用できます。 値に一重引用符と二重引用符の両方の文字が含まれている場合、値を囲むために使用される引用符文字は、値内で発生するたびに 2 倍にする必要があります。
文字列値に前後のスペースを含めるには、値を単一引用符または二重引用符で囲む必要があります。 引用符で囲まれている場合でも、整数、ブール値、または列挙値の前後のスペースは無視されます。 ただし、文字列リテラルキーワードまたは値内のスペースは保持されます。 引用符文字が値の最初または最後の文字でない限り、単一引用符または二重引用符は、区切り記号を使用せずに接続文字列内で使用できます (たとえば、Data Source= my'Server または Data Source= my"Server)。
キーワードでは大文字と小文字は区別されません。
次の表に、 ConnectionString内のキーワード値の有効な名前を示します。
| キーワード | デフォルト | Description |
|---|---|---|
| Addr | N/A | データ ソースのシノニム。 |
| Address | N/A | データ ソースのシノニム。 |
| App | N/A | アプリケーション名のシノニム。 |
| アプリケーションの目的 または アプリケーション意図 |
ReadWrite | アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は ReadOnly および ReadWrite です。 例えば次が挙げられます。ApplicationIntent=ReadOnlyAlways On 可用性グループに対する SqlClient サポートの詳細については、「SqlClient の高可用性、ディザスター リカバリーのサポート」を参照してください。 |
| アプリケーション名 | N/A | アプリケーションの名前。 アプリケーション名が指定されていない場合は、.NET Framework で実行されている場合は 'Framework Microsoft SqlClient Data Provider'、それ以外の場合は 'Core Microsoft SqlClient Data Provider' になります。 アプリケーション名は 128 文字以下にすることができます。 |
| AttachDBFilename または 拡張特性 または 初期ファイル名 |
N/A | アタッチ可能なデータベースの完全なパス名を含む、プライマリ データベース ファイルの名前。 AttachDBFilename は、.mdf拡張子を持つプライマリ データ ファイルでのみサポートされます。 接続文字列に AttachDBFileName キーの値が指定されている場合、データベースはアタッチされ、接続の既定のデータベースになります。 このキーが指定されておらず、データベースが以前にアタッチされていた場合、データベースは再アタッチされません。 以前にアタッチされたデータベースは、接続の既定のデータベースとして使用されます。 このキーを AttachDBFileName キーと共に指定すると、このキーの値がエイリアスとして使用されます。 ただし、接続されている別のデータベースで既に名前が使用されている場合、接続は失敗します。 パスは、DataDirectory 置換文字列を使用して絶対パスまたは相対パスにすることができます。 DataDirectory を使用する場合は、置換文字列が指すディレクトリのサブディレクトリ内にデータベース ファイルが存在する必要があります。 メモ: リモート サーバー、HTTP、UNC パス名はサポートされていません。 データベース名は、次のようにキーワード 'database' (またはそのエイリアスのいずれか) で指定する必要があります。 "AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"ログ ファイルがデータ ファイルと同じディレクトリに存在し、プライマリ データ ファイルのアタッチ時に 'database' キーワードが使用されている場合、エラーが生成されます。 この場合は、ログ ファイルを削除します。 データベースがアタッチされると、物理パスに基づいて新しいログ ファイルが自動的に生成されます。 |
| 構成証明プロトコル | 指定なし | 構成証明プロトコルの値を取得または設定します。 値が指定されていない場合、セキュリティで保護されたエンクレーブは接続で無効になります。 有効な値は次のとおりです。 AASHGSNone (v3.1 および v4.1 以降でのみ有効)) |
| Authentication | N/A |
Entra ID認証を使用した SQL Database への接続に使用される認証方法。 有効な値は次のとおりです。 Active Directory Integrated、 Active Directory Interactive、 Active Directory Password、 Active Directory Service Principal、 Active Directory Device Code Flow、 Active Directory Managed Identity、 Active Directory MSI、 Active Directory Default、 Sql Password。詳細については、「SqlClient でのEntra ID認証の使用を参照してください。 |
| 列暗号化の設定 | 無効 | 接続の Always Encrypted 機能を有効または無効にします。 サポートされている値: enabled と disabled |
| コマンド タイムアウト | 30 | コマンド実行の試行を終了してエラーを生成するまでの既定の待機時間 (秒)。 有効な値は 0 以上で、2147483647以下です。 |
| 接続の再試行回数 または ConnectRetryCount |
1 | クライアントがアイドル状態の接続エラーを識別した後の再接続試行回数を制御します。 有効な値は 0 から 255 です。 0 は、再接続を試みないことを意味します (接続の回復性を無効にします)。 注: バージョン 5.x 以降、Azure以外のエンドポイントの既定値は 1 です。 Azure SQL エンドポイントの場合、既定値は 2 です。 Azure SQLサーバーレスまたはオンデマンド エンドポイントの場合、アイドル状態または一時停止中のインスタンスへの接続の成功を向上させるために、既定値は 5 です。 アイドル接続の回復性の詳細については、「.NET接続再試行の SqlConnection パラメーターおよび技術記事 - アイドル接続の回復性を参照してください。 |
| 接続の再試行間隔 または 接続再試行間隔 |
10 | 接続の再試行 (ConnectRetryCount) の間隔を指定します。 有効な値は、最初の再接続の試行後に適用される 1 ~ 60 秒 (既定値は 10) です。 切断された接続が検出されると、クライアントはすぐに再接続を試みます。これは最初の再接続試行であり、 ConnectRetryCount が 0 より大きい場合にのみ発生します。 最初の再接続試行が失敗し、 ConnectRetryCount が 1 より大きい場合、クライアントは 2 回目以降の再接続の試行を試みるために ConnectRetryInterval 待機します。アイドル状態の接続の回復性の詳細については、「.NET接続再試行の SqlConnection パラメーターおよび技術記事 - アイドル接続の回復性を参照してください。 |
| 接続タイムアウト または 接続タイムアウト または Timeout |
15 | サーバーへの接続が確立されるまでに待機する時間 (秒) です。この時間が経過すると接続要求を終了し、エラーを生成します。 有効な値は 0 以上で、2147483647以下です。 Azure SQL Database への接続を開く場合は、接続タイムアウトを 30 秒に設定します。 |
| 現在の言語 または Language |
N/A | データベース サーバーの警告メッセージまたはエラー メッセージに使用する言語を設定します。 言語名は 128 文字以下にすることができます。 |
| データ ソース または Server または Address または Addr または ネットワーク アドレス |
N/A | 接続先の SQL Server インスタンスの名前またはネットワーク アドレス。 ポート番号は、サーバー名の後に指定できます。server=tcp:servername, portnumberローカル インスタンスを指定するときは、常に (ローカル) を使用します。 プロトコルを強制するには、次のいずれかのプレフィックスを追加します。 np:(local), tcp:(local), lpc:(local)次のように LocalDB データベースに接続することもできます。 server=(localdb)\\myInstanceLocalDB の詳細については、「 LocalDB の SqlClient サポート」を参照してください。 データ ソース では、TCP 形式または名前付きパイプ形式を使用する必要があります。 TCP 形式は次のとおりです。 - tcp:<host name>\<instance name> - tcp:<host name>,<TCP/IP ポート番号> TCP 形式はプレフィックス "tcp:" で始まり、その後にホスト名とインスタンス名で指定されたデータベース インスタンスが続く必要があります。 この形式は、Azure SQL Database に接続する場合は適用されません。 プロトコルが指定されていない場合、Azure SQL Database への接続には TCP が自動的に選択されます。 ホスト名は、次のいずれかの方法で指定する必要があります。 - NetBIOSName - IPv4Address - IPv6Address インスタンス名は、データベース インスタンスがホストされている特定の TCP/IP ポート番号に解決するために使用されます。 または、TCP/IP ポート番号を直接指定することもできます。 インスタンス名とポート番号の両方が存在しない場合は、既定のデータベース インスタンスが使用されます。 名前付きパイプの形式は次のとおりです。 - np:\\<host name>\pipe\<pipe name> 名前付きパイプ形式は、プレフィックス "np:" で始まり、名前付きパイプ名が続く必要があります。 ホスト名は、次のいずれかの方法で指定する必要があります。 - NetBIOSName - IPv4Address - IPv6Address パイプ名は、.NET アプリケーションが接続するデータベース インスタンスを識別するために使用されます。 ネットワーク キーの値が指定されている場合は、プレフィックス "tcp:" と "np:" を指定しないでください。 メモ: 接続文字列内のサーバー名に tcp の プレフィックスを付けるか、 localhost を使用して、共有メモリではなく TCP を強制的に使用できます。 |
| エンクレーブ構成証明 URL | N/A | エンクレーブ ベースの Always Encrypted で使用するエンクレーブ構成証明 URL を取得または設定します。 |
| 暗号化する | 4.0 以降の 'true' 3.x 以下の 'false' |
認識される値は次のとおりです。 バージョン 1 から 4: true/yes と false/noバージョン 5 以降: true/yes/mandatory、 false/no/optional 、 strict。
trueすると、サーバーに証明書がインストールされている場合、クライアントとサーバーの間で送信されるすべてのデータに対して TLS 暗号化が使用されます。
strictすると、TDS 8.0 TLS 暗号化が使用され、TrustServerCertificate設定は無視され、false として扱われます。 詳細については、「接続文字列の構文」を参照してください。Encrypt が mandatory または strict で、TrustServerCertificate が false である場合、サーバーの証明書内のサーバー名 (または IP アドレス) は、接続文字列で指定されたサーバー名 (または IP アドレス) と正確に一致している必要があります。 それ以外の場合、接続の試行は失敗します。 |
| 参加 | 'true' |
true は、SQL Server 接続プーラーが作成スレッドの現在のトランザクション コンテキストで接続を自動的に参加することを示します。 |
| フェールオーバー パートナー | N/A | データベース ミラーリングが構成されているフェールオーバー パートナー サーバーの名前。 このキーの値が "" の場合は、 初期カタログ が存在する必要があり、その値を "" にすることはできません。 サーバー名は 128 文字以下にすることができます。 フェールオーバー パートナーを指定しても、フェールオーバー パートナー サーバーがデータベース ミラーリング用に構成されておらず、プライマリ サーバー (Server キーワードで指定) が使用できない場合、接続は失敗します。 フェールオーバー パートナーを指定し、プライマリ サーバーがデータベース ミラーリング用に構成されていない場合、プライマリ サーバーが使用可能な場合、(Server キーワードで指定された) プライマリ サーバーへの接続は成功します。 |
| フェールオーバー パートナー SPN または FailoverPartnerSPN |
N/A | フェールオーバー パートナーの SPN。 既定値は空の文字列です。これにより、SqlClient はドライバーによって生成された既定の SPN を使用します。 (v5.0 以降でのみ使用可能) |
| 証明書内のホスト名 または HostNameInCertificate |
N/A | サーバー証明書を検証するときに使用するホスト名。 指定しない場合、データ ソースのサーバー名が証明書の検証に使用されます。 (v5.0 以降でのみ使用可能) |
| サーバー証明書 または ServerCertificate |
N/A | SQL Server TLS/SSL 証明書と照合する証明書ファイルへのパス。 受け付けられる証明書の形式は PEM、DER、CER です。 指定した場合、指定された ServerCertificate が完全に一致するかどうかを確認することで、SQL Server証明書がチェックされます。 (v5.1 以降でのみ使用可能) |
| 初期カタログ または データベース |
N/A | データベースの名前。 データベース名は 128 文字以下にすることができます。 |
| 統合セキュリティ または Trusted_Connection |
'false' |
falseすると、接続にユーザー ID とパスワードが指定されます。
trueすると、現在の Windows アカウントの資格情報が認証に使用されます。認識される値は、 true、 false、 yes、 no、および sspi です (強くお勧めします)。これは trueと同等です。ユーザー ID とパスワードが指定され、統合セキュリティが true に設定されている場合、ユーザー ID とパスワードは無視され、統合セキュリティが使用されます。 SqlCredential は、SQL Server 認証 ( Integrated Security=false) を使用する接続の資格情報を指定するためのより安全な方法です。 |
| IP アドレスの基本設定 または IPAddressPreference |
IPv4First | TCP 接続を確立するときの IP アドレス ファミリの設定。
Transparent Network IP Resolution (.NET Framework) または Multi Subnet Failover が true に設定されている場合、この設定は無効です。 サポートされている値は次のとおりです。IPAddressPreference=IPv4FirstIPAddressPreference=IPv6FirstIPAddressPreference=UsePlatformDefault |
| 負荷分散のタイムアウト または 接続の有効期間 |
0 | 接続がプールに返された時点で、その接続の作成時刻と現在の時刻を比較し、その時間の長さ (秒) が Connection Lifetime で指定した値を超えている場合は、その接続が破棄されます。 これは、クラスター構成を採用している状況で、実行中のサーバーと、オンラインになったばかりのサーバーの間での、負荷を強制的に分散するのに便利です。値が 0 の場合、プールされた接続の最大接続タイムアウトが発生します。 |
| 最大プール サイズ | 100 | プールで許可される接続の最大数。 有効な値は 1 以上です。 最小プール サイズ未満の値を指定すると、エラーが発生します。 |
| 最小プール サイズ | 0 | プールで許可される接続の最小数。 有効な値は 0 以上です。 このフィールドのゼロ (0) は、最小接続が最初に開かないことを意味します。 最大プール サイズを超える値を指定すると、エラーが発生します。 |
| 複数のアクティブな結果セット または MultipleActiveResultSets(複数アクティブ結果セット) |
false |
trueすると、アプリケーションは複数のアクティブな結果セット (MARS) を維持できます。
false場合、アプリケーションは、その接続で他のバッチを実行する前に、1 つのバッチからすべての結果セットを処理または取り消す必要があります。認識される値は true と false です。詳細については、「 複数のアクティブな結果セット (MARS)」を参照してください。 |
| マルチ サブネット フェールオーバー または MultiSubnetFailover |
false | SQL Server 2012 (またはそれ以降) 可用性グループまたは SQL Server 2012 (またはそれ以降) フェールオーバー クラスター インスタンスの可用性グループ リスナーに接続する場合は、常に multiSubnetFailover=True を指定します。
multiSubnetFailover=True は、(現在) アクティブなサーバーの検出と接続を高速化するように SqlClient を構成します。 使用可能な値は、 Yes と No、 True 、 False 、または 1 と 0です。 例えば次が挙げられます。MultiSubnetFailover=True既定値は False です。 Always On AG に対する SqlClient のサポートの詳細については、 SqlClient の高可用性のサポート、ディザスター リカバリーに関するページを参照してください。 |
| ネットワーク ライブラリ または Network または Net |
N/A | SQL Server のインスタンスへの接続を確立するために使用されるネットワーク ライブラリ。 サポートされている値は次のとおりです。 dbnmpntw (名前付きパイプ) dbmsrpcn (マルチプロトコル、Windows RPC) dbmsadsn (Apple Talk) dbmsgnet (VIA) dbmslpcn (共有メモリ) dbmsspxn (IPX/SPX) dbmssocn (TCP/IP) Dbmsvinn (バンヤン バインズ) 対応するネットワーク DLL は、接続先のシステムにインストールする必要があります。 ネットワークを指定せず、ローカル サーバー ("." や "(local)" など) を使用する場合は、共有メモリが使用されます。 この例では、ネットワーク ライブラリは Win32 Winsock TCP/IP (dbmssocn) であり、1433 は使用されているポートです。 Network Library=dbmssocn;Data Source=000.000.000.000,1433; |
| パケット サイズ | 8,000 | SQL Server のインスタンスとの通信に使用されるネットワーク パケットのサイズ (バイト単位)。 パケット サイズは、512 以上 32768 以下にすることができます。 |
| パスワード または PWD |
N/A | SQL Server アカウントのログオン時のパスワード。 お勧めしません。 高レベルのセキュリティを維持するには、代わりに Integrated Security キーワードまたは Trusted_Connection キーワードを使用することを強くお勧めします。
SqlCredential は、SQL Server 認証を使用する接続の資格情報を指定するためのより安全な方法です。パスワードは 128 文字以下にする必要があります。 |
| セキュリティ情報を保持する または PersistSecurityInfo |
'false' |
falseまたはnoに設定すると (強くお勧めします)、接続が開いている場合、または開いている状態になった場合、パスワードやアクセス トークンなどのセキュリティの機密情報は接続の一部として返されません。 このプロパティは、アプリケーションが既に開いているデータベース接続からパスワードを読み取る必要がある場合にのみ、 true に設定する必要があります。
falseの既定値は、より安全な設定です。このプロパティにtrueを使用すると、誤ってデータベース パスワードをログに記録したりトレースしたりするなどのセキュリティ 上のリスクがアプリケーションに表示されます。接続文字列をリセットすると、パスワードを含むすべての接続文字列値がリセットされます。 認識される値は true、false、yes および no です。 |
| プールのブロック期間 または プールブロッキング期間 |
Auto | 接続プールのブロック期間の動作を設定します。 詳細については、 PoolBlockingPeriod プロパティを参照してください。 |
| プーリング | 'true' | このキーの値が true に設定されている場合、アプリケーションによって閉じられると、新しく作成された接続がプールに追加されます。 次に同じ接続を開こうとすると、その接続がプールから引き出されます。 接続文字列が同じ場合、接続は同じと見なされます。 接続によって接続文字列が異なります。 このキーの値には、"true"、"false"、"yes"、または "no" を指定できます。 |
| レプリケーション | 'false' |
true 接続を使用してレプリケーションがサポートされている場合は 。 |
| サーバー SPN または ServerSPN |
N/A | データ ソースの SPN。 既定値は空の文字列です。これにより、SqlClient はドライバーによって生成された既定の SPN を使用します。 (v5.0 以降でのみ使用可能) |
| トランザクション バインド | 暗黙的なバインド解除 | 参加している System.Transactions トランザクションとの接続の関連付けを制御します。値の例は次のとおりです。 Transaction Binding=Implicit Unbind;Transaction Binding=Explicit Unbind;暗黙的なバインド解除により、接続は終了時にトランザクションからデタッチされます。 デタッチ後、接続に対する追加の要求が自動コミット モードで実行されます。 トランザクションがアクティブな間に要求を実行するときに、 System.Transactions.Transaction.Current プロパティはチェックされません。 トランザクションが終了すると、追加の要求が自動コミット モードで実行されます。最後のコマンドが完了する前に、システムがトランザクションを (using ブロックのスコープ内で) 終了すると、 InvalidOperationExceptionがスローされます。 明示的なバインド解除により、接続が閉じられるか、明示的な SqlConnection.TransactionEnlist(null) が呼び出されるまで、接続はトランザクションにアタッチされたままになります。 .NET Framework 4.0 以降では、暗黙的なバインド解除を変更すると、明示的なバインド解除が廃止されました。
InvalidOperationExceptionが参加しているトランザクションではない場合、または参加しているトランザクションがアクティブでない場合は、Transaction.Currentがスローされます。 |
| 透明なネットワークIP解決 または 透明ネットワークIP解決 |
説明を参照してください。 | このキーの値が true に設定されている場合、アプリケーションは特定の DNS エントリのすべての IP アドレスを取得し、一覧の最初の IP アドレスとの接続を試みる必要があります。 接続が 0.5 秒以内に確立されていない場合、アプリケーションは他のすべての接続を並列で試行します。 最初に回答すると、アプリケーションは回答者の IP アドレスとの接続を確立します。MultiSubnetFailover キーが true に設定されている場合、TransparentNetworkIPResolutionは無視されます。Failover Partner キーが設定されている場合、TransparentNetworkIPResolutionは無視されます。このキーの値は、 true、 false、 yes、または noである必要があります。yesの値は、trueの値と同じように扱われます。noの値は、falseの値と同じように扱われます。既定値は次のとおりです:
|
| サーバー証明書を信頼する または TrustServerCertificate |
'false' |
trueに設定すると、信頼を検証するために証明書チェーンのウォークをバイパスするときに、TLS を使用してチャネルを暗号化します。 TrustServerCertificate が true に設定され、Encrypt が false に設定されている場合、チャネルは暗号化されません。 認識される値は true、false、yes および no です。 詳細については、「接続文字列の構文」を参照してください。 |
| Type System Version | N/A | アプリケーションが想定する型システムを示す文字列値。 クライアント アプリケーションで使用できる機能は、SQL Server のバージョンとデータベースの互換性レベルによって異なります。 クライアント アプリケーションが書き込まれた型システム バージョンを明示的に設定すると、別のバージョンの SQL Server が使用されている場合にアプリケーションが中断する可能性がある潜在的な問題を回避できます。
メモ: SQL Server でインプロセスで実行される共通言語ランタイム (CLR) コードでは、型システム バージョンを設定できません。 詳細については、「 SQL Server 共通言語ランタイム統合」を参照してください。 値の例は次のとおりです。 Type System Version=SQL Server 2012;Type System Version=SQL Server 2008;Type System Version=SQL Server 2005;Type System Version=Latest;Type System Version=SQL Server 2012; は、アプリケーションにバージョン 11.0.0.0 の Microsoft.SqlServer.Types.dllが必要であることを指定します。 その他の Type System Version 設定には、バージョン 10.0.0.0 の Microsoft.SqlServer.Types.dllが必要です。Latest は廃止されているため、使用しないでください。
Latest は Type System Version=SQL Server 2008; と等価です。 |
| ユーザー ID または ユーザー識別子 または User |
N/A | SQL Server ログイン アカウント。 お勧めしません。 高レベルのセキュリティを維持するには、代わりに Integrated Security キーワードまたは Trusted_Connection キーワードを使用することを強くお勧めします。
SqlCredential は、SQL Server 認証を使用する接続の資格情報を指定するためのより安全な方法です。ユーザー ID は 128 文字以下にする必要があります。 |
| ユーザー インスタンス | 'false' | 既定の SQL Server Express インスタンスから、呼び出し元のアカウントで実行されているランタイム開始インスタンスに接続をリダイレクトするかどうかを示す値。 |
| [ワークステーション ID] または WSID |
ローカル コンピューター名 | SQL Server に接続するワークステーションの名前。 ID は 128 文字以下にする必要があります。 |
次の一覧には、 ConnectionString内の接続プール値の有効な名前が含まれています。 詳しくは、「SQL Server の接続プール (ADO.NET)」をご覧ください。
接続の有効期間 (または負荷分散タイムアウト)
参加
最大プール サイズ
最小プール サイズ
プーリング
ブール値を必要とするキーワードまたは接続プール値を設定する場合は、'true' ではなく 'yes' を使用し、'false' の代わりに 'no' を使用できます。 整数値は文字列として表されます。
Note
.NET Framework Data Provider for SQL Server は、独自のプロトコルを使用して SQL Server と通信します。 そのため、SQL Server に接続するときに ODBC データ ソース名 (DSN) を使用することはできません。ODBC レイヤーは追加されないためです。
Note
.NET Framework Data Provider for SQL Server では、ユニバーサル データ リンク (UDL) ファイルはサポートされていません。
注意
このリリースでは、アプリケーションでは、ユーザー入力に基づいて接続文字列を作成する場合 (たとえば、ダイアログ ボックスからユーザー ID とパスワード情報を取得し、接続文字列に追加する場合) には注意が必要です。 アプリケーションでは、ユーザーがこれらの値に追加の接続文字列 パラメーターを埋め込むことができないことを確認する必要があります (たとえば、パスワードを "validpassword" として入力します。database=somedb" を使用して、別のデータベースにアタッチしようとしています。 ユーザー入力に基づいて接続文字列を構築する必要がある場合は、新しい SqlConnectionStringBuilder を使用します。これにより、接続文字列が検証され、この問題の解消に役立ちます。 詳細については、「 接続文字列ビルダー」 を参照してください。