SqlConnection.ConnectionString プロパティ
アセンブリ: System.Data (system.data.dll 内)

Dim instance As SqlConnection Dim value As String value = instance.ConnectionString instance.ConnectionString = value
public: virtual property String^ ConnectionString { String^ get () override; void set (String^ value) override; }
/** @property */ public String get_ConnectionString () /** @property */ public void set_ConnectionString (String value)
public override function get ConnectionString () : String public override function set ConnectionString (value : String)
ソース データベース名を含む接続文字列、および初期接続を確立するために必要なその他のパラメータ。既定値は空の文字列です。


ConnectionString は、OLE DB 接続文字列とほぼ同じですが、異なる点もあります。OLE DB や ADO とは異なり、Persist Security Info 値を false (既定値) に設定すると、ユーザーが設定した ConnectionString からセキュリティ情報を除いた接続文字列が返されます。Persist Security Info を true に設定した場合を除き、.NET Framework SQL Server 用データ プロバイダでは、接続文字列のパスワードは永続化されず、返されません。
ConnectionString プロパティを使用して、データベースに接続できます。一般的な接続文字列の例を次に示します。
実行時に新しい SqlConnectionStringBuilder を使用して、有効な接続文字列を作成します。詳細については、「Building Connection Strings」を参照してください。
ConnectionString プロパティを設定できるのは、接続が閉じているときだけです。接続文字列値の多くには、対応する読み取り専用プロパティがあります。接続文字列を設定すると、エラーが検出された場合を除いて、これらのプロパティが更新されます。エラーが発生した場合は、いずれのプロパティも更新されません。SqlConnection プロパティは、ConnectionString に含まれている設定だけを返します。
ローカル コンピュータに接続するには、サーバーとして (local) を指定します。サーバーは常に指定する必要があります。
閉じた接続に対して ConnectionString をリセットすると、パスワードを含むすべての接続文字列値および関連プロパティがリセットされます。たとえば、Database= AdventureWorks を指定した接続文字列を設定した後で、この文字列を Data Source=myserver;Integrated Security=SSPI にリセットすると、Database プロパティに AdventureWorks は設定されません。
接続文字列は、設定した直後に解析されます。解析中に構文のエラーが検出された場合は、ArgumentException などのランタイム例外が生成されます。その他のエラーは、接続を開くときにだけ検出されます。
接続文字列の基本的な書式は、一連のキーワード/値のペアをセミコロンで区切った形となります。等号記号 (=) は、各キーワードとその値を結合します。セミコロン、単一引用符文字、または二重引用符文字を含む値を指定するには、二重引用符で値を囲む必要があります。セミコロンと二重引用符の両方が値に含まれている場合は、単一引用符を使用して値を囲むことができます。単一引用符は、値の先頭が二重引用符文字の場合にも使用できます。逆に、値の先頭が単一引用符の場合は、二重引用符を使用できます。単一引用符と二重引用符の両方が値に含まれている場合、値を囲むために使用する引用符文字は、値の中ですべて 2 つずつ使用する必要があります。
文字列値の先頭または末尾の空白を含めるには、単一引用符または二重引用符で値を囲む必要があります。整数値、ブール値、列挙値の先頭または末尾の空白は、引用符で囲んでも無視されます。ただし、リテラル キーワード文字列や文字列値内の空白は、予約済みです。.NET Framework Version 1.1 以降をご使用の場合、単一引用符または二重引用符は、引用符が値の先頭または末尾の文字でない限り、接続文字列内で区切り文字を付けずに使用できます (たとえば、Data Source= my'Server または Data Source= my"Server など)。
キーワードまたは値の中で等号記号 (=) を使用する場合は、等号記号を 2 つ記述する必要があります。たとえば、次のような接続文字列がある場合、
キーワードは "key=word" で値は "value" です。
キーワード/値のペアで特定のキーワードが接続文字列の中に複数回出現する場合、値セットでは最後のペアが使用されます。
ConnectionString 内のキーワード値として有効な名前の一覧を次の表に示します。
ConnectionString 内の接続プール値として有効な名前の一覧を次の表に示します。詳細については、「接続プールの使用」を参照してください。
名前 | ||
---|---|---|
0 | 接続がプールに返されるときに、作成時刻と現在の時刻が比較され、この時間 (秒単位) が Connection Lifetime で指定された値を超えていた場合は、接続が破棄されます。この機能は、クラスタ構成の場合に、実行中のサーバーとオンライン状態になったばかりのサーバーとの間で負荷分散を強制的に行うときに役立ちます。 | |
データベース接続をプールから引き出すときに、その接続をリセットするかどうかを決定します。SQL Server Version 7.0 では、false に設定すると、接続を取得するためのサーバーへのラウンド トリップを省略できますが、データベース コンテキストなどの接続状態がリセットされないことに注意する必要があります。 Connection Reset を false に設定しない限り、ChangeDatabase メソッドによって接続プーラーに影響が及ぶことはありません。接続がプールから取り出されると、その接続はリセットされ、ログイン時のデータベースに戻ります。新しい接続が作成されたり、再認証が求められたりすることはありません。Connection Reset を false に設定した場合、別のデータベースに対する接続がプールから取り出される場合があります。 | ||
true に設定すると、接続は、プールに追加されたときに、作成スレッドの現在のトランザクション コンテキストに自動的に加えられます。認識される値は、true、false、yes、および no です。 | ||
0 | ||
0 | ||
true に設定すると、SQLConnection オブジェクトは、適切なプールから引き出されます。または、必要に応じて作成され、適切なプールに追加されます。認識される値は、true、false、yes、および no です。 |
ブール値を必要とするキーワードまたは接続プール値を指定する場合は、true の代わりに yes、false の代わりに no を使用できます。整数値は文字列として表されます。

SqlConnection を作成し、接続を開く前にその ConnectionString プロパティを設定する例を次に示します。
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, using the ' System.Configuration.ConfigurationSettings.AppSettings property Return "Data Source=(local);Database=AdventureWorks;" _ & "Integrated Security=SSPI;" End Function
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, using the // System.Configuration.ConfigurationSettings.AppSettings property return "Data Source=(local);Initial Catalog=AdventureWorks;" + "Integrated Security=SSPI;"; }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlConnection.ConnectionString プロパティを検索する場合は、下記のリンクをクリックしてください。

- SqlConnection.ConnectionString プロパティのページへのリンク