英語で読む

次の方法で共有


OdbcConnection.ConnectionString プロパティ

定義

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

public override string ConnectionString { get; set; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }

プロパティ値

データ ソース名など、初期接続を確立するために必要な設定を含む 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) を使用して最大長の制限を超えることができます。

適用対象

製品 バージョン
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

こちらもご覧ください