次の方法で共有


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

プロパティ値

データ ソース名など、初期接続を確立するために必要な設定を含む 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"

注意

.NET Framework Data Provider for ODBC では、他のPersist Security Info.NET Framework データ プロバイダーでサポートされているキーワード (keyword)はサポートされていません。 ただし、 プロパティは ConnectionString が にfalse設定されているかのようにPersist Security Info動作します。 つまり、接続が開かれている場合は、 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

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

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

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

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

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

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

注意

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

適用対象

こちらもご覧ください