SqlConnection.ConnectionString プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server データベースを開くために使用する文字列を取得または設定します。
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("SqlConnection_ConnectionString")]
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("SqlConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String
プロパティ値
ソース データベース名と、初期接続を確立するために必要なその他のパラメーターを含む接続文字列。 既定値は空の文字列です。
実装
- 属性
例外
無効な接続文字列引数が指定されているか、必要な接続文字列引数が指定されていません。
例
次の例では、接続を開く前に SqlConnection を作成し、 ConnectionString プロパティを設定します。
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;";
}
Private Sub OpenSqlConnection()
Dim connectionString As String = GetConnectionString()
Using connection As New SqlConnection()
connection.ConnectionString = connectionString
connection.Open()
Console.WriteLine("State: {0}", connection.State)
Console.WriteLine("ConnectionString: {0}", _
connection.ConnectionString)
End Using
End Sub
Private Function GetConnectionString() As String
' To avoid storing the connection string in your code,
' you can retrieve it from a configuration file.
Return "Data Source=MSSQL1;Database=AdventureWorks;" _
& "Integrated Security=true;"
End Function
注釈
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内のキーワード値の有効な名前を示します。
| キーワード | デフォルト | 説明 |
|---|---|---|
Addr |
N/A | データ ソースのシノニム。 |
Address |
N/A | データ ソースのシノニム。 |
App |
N/A | アプリケーション名のシノニム。 |
Application Name |
N/A | アプリケーションの名前。アプリケーション名が指定されていない場合は '.NET SQLClient データ プロバイダー' です。 アプリケーション名は 128 文字以下にすることができます。 |
ApplicationIntent |
ReadWrite |
アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は ReadOnly および ReadWrite です。 例えば次が挙げられます。ApplicationIntent=ReadOnlyAlways On 可用性グループに対する SqlClient サポートの詳細については、「SqlClient の高可用性、ディザスター リカバリーのサポート」を参照してください。 |
Asynchronous Processing-又は- Async |
'false' |
trueすると、非同期操作のサポートが有効になります。 認識される値は true、false、yes および no です。.NET Framework 4.5 以降では、このプロパティは無視されます。 非同期プログラミングに対する SqlClient のサポートの詳細については、「 非同期プログラミング」を参照してください。 |
AttachDBFilename-又は- Extended Properties-又は- Initial File Name |
N/A | アタッチ可能なデータベースの完全なパス名を含む、プライマリ データベース ファイルの名前。 AttachDBFilename は、.mdf拡張子を持つプライマリ データ ファイルでのみサポートされます。 接続文字列に AttachDBFileName キーの値が指定されている場合、データベースはアタッチされ、接続の既定のデータベースになります。 このキーが指定されておらず、データベースが以前にアタッチされていた場合、データベースは再アタッチされません。 以前にアタッチされたデータベースは、接続の既定のデータベースとして使用されます。 このキーを AttachDBFileName キーと共に指定すると、このキーの値がエイリアスとして使用されます。 ただし、接続されている別のデータベースで既に名前が使用されている場合、接続は失敗します。 パスは、DataDirectory 置換文字列を使用して絶対パスまたは相対パスにすることができます。 DataDirectory を使用する場合は、置換文字列が指すディレクトリのサブディレクトリ内にデータベース ファイルが存在する必要があります。 メモ: リモート サーバー、HTTP、UNC パス名はサポートされていません。 データベース名は、次のようにキーワード 'database' (またはそのエイリアスのいずれか) で指定する必要があります。 "AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"ログ ファイルがデータ ファイルと同じディレクトリに存在し、プライマリ データ ファイルのアタッチ時に 'database' キーワードが使用されている場合、エラーが生成されます。 この場合は、ログ ファイルを削除します。 データベースがアタッチされると、物理パスに基づいて新しいログ ファイルが自動的に生成されます。 |
Authentication |
N/A |
Azure Active Directory 認証を使用した SQL Database への接続に使用される認証方法。 有効な値は次のとおりです。 Active Directory 統合、Active Directory パスワード、Sql パスワード。 |
Column Encryption Setting |
N/A | 接続の Always Encrypted 機能を有効または無効にします。 |
Connect Timeout-又は- Connection Timeout-又は- Timeout |
15 | 試行を終了してエラーを生成するまでの、サーバーへの接続を待機する時間 (秒単位)。 有効な値は 0 以上で、2147483647以下です。 Azure SQL Database への接続を開く場合は、接続タイムアウトを 30 秒に設定します。 |
Connection Lifetime-又は- Load Balance Timeout |
0 | 接続がプールに返された時点で、その接続の作成時刻と現在の時刻を比較し、その時間の長さ (秒) が Connection Lifetime で指定した値を超えている場合は、その接続が破棄されます。 これは、クラスター構成を採用している状況で、実行中のサーバーと、オンラインになったばかりのサーバーの間での、負荷を強制的に分散するのに便利です。値が 0 の場合、プールされた接続の最大接続タイムアウトが発生します。 |
ConnectRetryCount |
1 | クライアントがアイドル状態の接続エラーを識別した後の再接続試行回数を制御します。 有効な値は 0 から 255 です。 既定値は 1 です。 0 は、再接続を試みないことを意味します (接続の回復性を無効にします)。 接続の回復性の詳細については、「接続 の再試行の .NET SqlConnection パラメーター 」および 「技術記事 - アイドル接続の回復性」を参照してください。 |
ConnectRetryInterval |
10 | 接続の再試行 (ConnectRetryCount) の間隔を指定します。 有効な値は、最初の再接続の試行後に適用される 1 ~ 60 秒 (既定値は 10) です。 切断された接続が検出されると、クライアントはすぐに再接続を試みます。これは最初の再接続試行であり、ConnectRetryCount が 0 より大きい場合にのみ発生します。 最初の再接続の試行が失敗し、ConnectRetryCount が 1 より大きい場合、クライアントは ConnectRetryInterval を待機して、2 回目以降の再接続の試行を試みます。 接続の回復性の詳細については、「接続 の再試行の .NET SqlConnection パラメーター 」および 「技術記事 - アイドル接続の回復性」を参照してください。 |
Context Connection |
'false' |
true SQL Server へのインプロセス接続を確立する必要がある場合は〘。 |
Current Language-又は- Language |
N/A | データベース サーバーの警告メッセージまたはエラー メッセージに使用する言語を設定します。 言語名は 128 文字以下にすることができます。 |
Data Source-又は- Server-又は- Address-又は- Addr-又は- Network Address |
N/A | 接続先の SQL Server インスタンスの名前またはネットワーク アドレス。 ポート番号は、サーバー名の後に指定できます。server=tcp:servername, portnumberローカル インスタンスを指定するときは、常に (ローカル) を使用します。 プロトコルを強制するには、次のいずれかのプレフィックスを追加します。 np:(local), tcp:(local), lpc:(local).NET Framework 4.5 以降では、次のように 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 Framework アプリケーションが接続されるデータベース インスタンスを識別するために使用されます。 ネットワーク キーの値が指定されている場合は、プレフィックス "tcp:" と "np:" を指定しないでください。 メモ: 接続文字列内のサーバー名に tcp の プレフィックスを付けるか、 localhost を使用して、共有メモリではなく TCP を強制的に使用できます。 |
Encrypt |
'false' |
trueすると、サーバーに証明書がインストールされている場合、SQL Server はクライアントとサーバーの間で送信されるすべてのデータに SSL 暗号化を使用します。 認識される値は true、false、yes および no です。 詳細については、「接続文字列の構文」を参照してください。.NET Framework 4.5 以降では、 TrustServerCertificate が false で Encrypt が true の場合、SQL Server SSL 証明書のサーバー名 (または IP アドレス) は、接続文字列で指定されたサーバー名 (または IP アドレス) と完全に一致する必要があります。 それ以外の場合、接続の試行は失敗します。 |
Enlist |
'true' |
true は、SQL Server 接続プーラーが作成スレッドの現在のトランザクション コンテキストで接続を自動的に参加することを示します。 |
Failover Partner |
N/A | データベース ミラーリングが構成されているフェールオーバー パートナー サーバーの名前。 このキーの値が "" の場合は、 初期カタログ が存在する必要があり、その値を "" にすることはできません。 サーバー名は 128 文字以下にすることができます。 フェールオーバー パートナーを指定しても、フェールオーバー パートナー サーバーがデータベース ミラーリング用に構成されておらず、プライマリ サーバー (Server キーワードで指定) が使用できない場合、接続は失敗します。 フェールオーバー パートナーを指定し、プライマリ サーバーがデータベース ミラーリング用に構成されていない場合、プライマリ サーバーが使用可能な場合、(Server キーワードで指定された) プライマリ サーバーへの接続は成功します。 |
Initial Catalog-又は- Database |
N/A | データベースの名前。 データベース名は 128 文字以下にすることができます。 |
Integrated Security-又は- Trusted_Connection |
'false' |
falseすると、接続にユーザー ID とパスワードが指定されます。
trueすると、現在の Windows アカウントの資格情報が認証に使用されます。認識される値は、 true、 false、 yes、 no、および sspi です (強くお勧めします)。これは trueと同等です。ユーザー ID とパスワードが指定され、統合セキュリティが true に設定されている場合、ユーザー ID とパスワードは無視され、統合セキュリティが使用されます。 SqlCredential は、SQL Server 認証 ( Integrated Security=false) を使用する接続の資格情報を指定するためのより安全な方法です。 |
Max Pool Size |
100 | プールで許可される接続の最大数。 有効な値は 1 以上です。 最小プール サイズ未満の値を指定すると、エラーが発生します。 |
Min Pool Size |
0 | プールで許可される接続の最小数。 有効な値は 0 以上です。 このフィールドのゼロ (0) は、最小接続が最初に開かないことを意味します。 最大プール サイズを超える値を指定すると、エラーが発生します。 |
MultipleActiveResultSets |
'false' |
trueすると、アプリケーションは複数のアクティブな結果セット (MARS) を維持できます。
false場合、アプリケーションは、その接続で他のバッチを実行する前に、1 つのバッチからすべての結果セットを処理または取り消す必要があります。認識される値は true と false です。詳細については、「 複数のアクティブな結果セット (MARS)」を参照してください。 |
MultiSubnetFailover |
偽 | 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 Library-又は- 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; |
Packet Size |
8,000 | SQL Server のインスタンスとの通信に使用されるネットワーク パケットのサイズ (バイト単位)。 パケット サイズは、512 以上 32768 以下にすることができます。 |
Password-又は- PWD |
N/A | SQL Server アカウントのログオン時のパスワード。 お勧めしません。 高レベルのセキュリティを維持するには、代わりに Integrated Security キーワードまたは Trusted_Connection キーワードを使用することを強くお勧めします。
SqlCredential は、SQL Server 認証を使用する接続の資格情報を指定するためのより安全な方法です。パスワードは 128 文字以下にする必要があります。 |
Persist Security Info-又は- PersistSecurityInfo |
'false' |
falseまたはnoに設定すると (強くお勧めします)、接続が開いているか、開いている状態になった場合、パスワードなどのセキュリティに依存する情報は接続の一部として返されません。 接続文字列をリセットすると、パスワードを含むすべての接続文字列値がリセットされます。 認識される値は true、false、yes および no です。 |
PoolBlockingPeriod |
自動 | 接続プールのブロック期間の動作を設定します。 詳細については、 PoolBlockingPeriod プロパティを参照してください。 |
Pooling |
'true' | このキーの値が true に設定されている場合、アプリケーションによって閉じられると、新しく作成された接続がプールに追加されます。 次に同じ接続を開こうとすると、その接続がプールから引き出されます。 接続文字列が同じ場合、接続は同じと見なされます。 接続によって接続文字列が異なります。 このキーの値には、"true"、"false"、"yes"、または "no" を指定できます。 |
Replication |
'false' |
true 接続を使用してレプリケーションがサポートされている場合は 。 |
Transaction Binding |
暗黙的なバインド解除 | 参加している System.Transactions トランザクションとの接続の関連付けを制御します。使用可能な値は次のとおりです。 Transaction Binding=Implicit Unbind;Transaction Binding=Explicit Unbind;暗黙的なバインド解除により、接続は終了時にトランザクションからデタッチされます。 デタッチ後、接続に対する追加の要求が自動コミット モードで実行されます。 トランザクションがアクティブな間に要求を実行するときに、 System.Transactions.Transaction.Current プロパティはチェックされません。 トランザクションが終了すると、追加の要求が自動コミット モードで実行されます。最後のコマンドが完了する前に、システムがトランザクションを (using ブロックのスコープ内で) 終了すると、 InvalidOperationExceptionがスローされます。 明示的なバインド解除により、接続が閉じられるか、明示的な SqlConnection.TransactionEnlist(null) が呼び出されるまで、接続はトランザクションにアタッチされたままになります。 .NET Framework 4 以降では、暗黙的なバインド解除を変更すると、明示的なバインド解除が廃止されました。
Transaction.Currentが参加しているトランザクションではない場合、または参加しているトランザクションがアクティブでない場合は、InvalidOperationExceptionがスローされます。 |
TransparentNetworkIPResolution |
説明を参照してください。 | このキーの値が true に設定されている場合、アプリケーションは特定の DNS エントリのすべての IP アドレスを取得し、一覧の最初の IP アドレスとの接続を試みる必要があります。 接続が 0.5 秒以内に確立されていない場合、アプリケーションは他のすべての接続を並列で試行します。 最初に回答すると、アプリケーションは回答者の IP アドレスとの接続を確立します。MultiSubnetFailover キーが true に設定されている場合、TransparentNetworkIPResolutionは無視されます。Failover Partner キーが設定されている場合、TransparentNetworkIPResolutionは無視されます。このキーの値は、 true、 false、 yes、または noである必要があります。yesの値は、trueの値と同じように扱われます。noの値は、falseの値と同じように扱われます。既定値は次のとおりです:
|
TrustServerCertificate |
'false' |
trueに設定すると、SSL は、信頼を検証するために証明書チェーンのウォークをバイパスするときにチャネルを暗号化するために使用されます。 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; と等価です。 |
User ID-又は- UID-又は- User |
N/A | SQL Server ログイン アカウント。 お勧めしません。 高レベルのセキュリティを維持するには、代わりに Integrated Security キーワードまたは Trusted_Connection キーワードを使用することを強くお勧めします。
SqlCredential は、SQL Server 認証を使用する接続の資格情報を指定するためのより安全な方法です。ユーザー ID は 128 文字以下にする必要があります。 |
User Instance |
'false' | 既定の SQL Server Express インスタンスから、呼び出し元のアカウントで実行されているランタイム開始インスタンスに接続をリダイレクトするかどうかを示す値。 |
Workstation ID-又は- WSID |
ローカル コンピューター名 | SQL Server に接続するワークステーションの名前。 ID は 128 文字以下にする必要があります。 |
次の一覧には、 ConnectionString内の接続プール値の有効な名前が含まれています。 詳しくは、「SQL Server の接続プール (ADO.NET)」をご覧ください。
-
Connection Lifetime(またはLoad Balance Timeout) EnlistMax Pool SizeMin Pool SizePooling
ブール値を必要とするキーワードまたは接続プールの値を設定する場合は、trueではなくyesを使用し、falseの代わりにnoできます。 整数値は文字列として表されます。
注
.NET Framework Data Provider for SQL Server は、独自のプロトコルを使用して SQL Server と通信します。 そのため、SQL Server に接続するときに ODBC データ ソース名 (DSN) を使用することはできません。ODBC レイヤーは追加されないためです。
注
.NET Framework Data Provider for SQL Server では、ユニバーサル データ リンク (UDL) ファイルはサポートされていません。
注意事項
ユーザー入力に基づいて接続文字列を作成する場合 (たとえば、ダイアログ ボックスからユーザー ID とパスワードの情報を取得し、接続文字列に追加する場合) には注意が必要です。 ユーザーがこれらの値に追加の接続文字列パラメーターを埋め込むことができないことを確認します (たとえば、パスワードを "validpassword" として入力します。database=somedb" を使用して、別のデータベースにアタッチしようとしています。 ユーザー入力に基づいて接続文字列を構築する必要がある場合は、接続文字列を検証し、この問題を解決するのに役立つ SqlConnectionStringBuilderを使用します。 詳細については、「接続文字列ビルダー」をご覧ください。