OdbcConnection.ConnectionString プロパティ

定義

データ ソースを開くために使用する文字列を取得または設定します。

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; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
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

プロパティ値

String

データ ソース名など、初期接続を確立するために必要な設定を含む ODBC ドライバー接続文字列。 既定値は空の文字列 ("") です。 最大長は 1024 文字です。

実装

属性

注釈

このプロパティは ConnectionString 、可能な限り ODBC 接続文字列の形式と一致するように設計されています。 接続 ConnectionString が閉じられた場合にのみ設定でき、設定されるとすぐに、ドライバー マネージャーと基になるドライバーにそのまま渡されます。 したがって、の構文 ConnectionString は、ドライバー マネージャーと基になるドライバーのサポートと完全に一致する必要があります。

このプロパティを ConnectionString 使用して、さまざまなデータ ソースに接続できます。 これには、ODBC データ ソース名 (DSN) が含まれます。 次の例は、考えられるいくつかの接続文字列を示しています。

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"  

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"  

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"  

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"  

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"  

"DSN=dsnname"  

注意

ODBC の.NET Framework Data Providerでは、他のPersist Security Info.NET Framework データ プロバイダーでサポートされているキーワードはサポートされていません。 ただし、このプロパティは ConnectionString 設定されているかのように Persist Security Info 動作します false。 つまり、接続が開かれている場合は、 ConnectionString プロパティからパスワードを取得できません。 ConnectionString開かれたオブジェクトからプロパティをOdbcConnection読み取ると、接続文字列からパスワードを引いた値が返されます。 この動作は変更できません。したがって、アプリケーションでパスワードが必要な場合は、呼び出す Open前に個別に保存してください。

文字列で指定された設定の多くは、対応する読み取り専用プロパティ (たとえば、 Server=(local)プロパティに DataSource 対応) を持っています。 これらのプロパティは、エラーが検出された場合を除き、接続が開かれた後に更新されます。 この場合、どのプロパティも更新されません。 OdbcConnection プロパティ (など Database) は、既定の設定またはで指定された ConnectionString設定のみを返します。

Microsoft .NET Framework バージョン 1.0 では、アプリケーションがメソッドを呼び出Openすまで接続文字列の検証は行われません。 接続文字列を検証するのは、基になる ODBC ドライバーの役割です。 接続文字列に無効なプロパティまたはサポートされていないプロパティが含まれている場合、ドライバーは実行時に発生する OdbcException 可能性があります。

ただし、.NET Framework バージョン 1.1 以降のバージョンでは、プロパティを設定するとすぐに接続文字列の基本的な検証がConnectionString行われます。 その時点で、データ プロバイダーは接続文字列が "keyword=value;..." を満たしていることを確認します。形式ですが、キーワードまたは値が有効であるかどうかは確認されません。 残りの検証は、アプリケーションがメソッドを呼び出 Open すときに、基になる ODBC ドライバーによって実行されます。

ODBC 接続文字列の構文は次のとおりです。

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string  
empty-string ::=  
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]  
attribute-keyword ::= DSN | UID | PWD  
 | driver-defined-attribute-keyword  
attribute-value ::= character-string  
driver-defined-attribute-keyword ::= identifier  

character-string 0 個以上の文字を持ち、 identifier 1 つ以上の文字を持ち、attribute-keyword大文字と小文字は区別されません。attribute-value大文字と小文字を区別できます。DSN キーワードの値は空白のみで構成されるわけではありません。

接続文字列と初期化ファイルの文法により、文字 ,;を{}含むキーワードと属性値は避ける必要がありますか?*=!@ は中かっこで囲まれていません。 DSN キーワードの値はブランクのみで構成することはできません。先行ブランクを含めることはできません。 システム情報の文法により、キーワードとデータ ソース名に円記号 (\) 文字を含めることはできません。

属性にセミコロン (;)、中かっこが必要な場合を除き、アプリケーションは、Driver キーワードの後に属性値の周りに中かっこを追加する必要はありません。 ドライバーが受け取る属性値に中かっこが含まれている場合、ドライバーはそれらを削除しないでくださいが、返される接続文字列の一部である必要があります。

任意の文字 []{}(),;を含む中かっこ ({}) で囲まれた DSN または接続文字列の値。*=!@ はドライバーにそのまま渡されます。 ただし、キーワードでこれらの文字を使用すると、ファイル DSN を操作するときにドライバー マネージャーはエラーを返しますが、通常の接続文字列の接続文字列をドライバーに渡します。 キーワード値に埋め込み中かっこを使用しないでください。

接続文字列には、任意の数のドライバー定義キーワードを含めることができます。 DRIVER キーワードはシステムからの情報を使用しないため、ドライバーは、接続文字列内の情報のみを使用してデータ ソースに接続できるように、十分なキーワードを定義する必要があります。 ドライバーは、データ ソースに接続するために必要なキーワードを定義します。

接続文字列でキーワードが繰り返される場合、どの値が選択されるのかは保証されません。

注意

ODBC ドライバーで 1024 文字を超える接続文字列がサポートされている場合は、データ ソース名 (DSN) を使用して最大長の制限を超えることができます。

適用対象

こちらもご覧ください