OdbcConnectionStringBuilder クラス
アセンブリ: System.Data (system.data.dll 内)


接続文字列ビルダにより、クラスのプロパティとメソッドを使用して、構文的に正確な接続文字列をプログラムで作成したり、既存の接続文字列を解析および再構築したりできます。接続文字列ビルダは、ODBC 接続がサポートする既知のキー/値ペアに対応した、厳密に型指定されたプロパティを提供するほか、開発者が他の接続文字列値に対して任意のキー/値ペアを追加することもできます。
接続文字列をアプリケーション内で生成する必要がある場合、OdbcConnectionStringBuilder クラスを使用して、接続文字列を生成および修正できます。また、このクラスを利用することで、アプリケーションの構成ファイルに格納される接続文字列の管理が容易になります。OdbcConnectionStringBuilder によって実行されるチェックは、既知のキー/値ペアに限定されます。したがって、このクラスを使用した場合、無効な接続文字列が生成される場合もあります。既知のキーと、OdbcConnectionStringBuilder クラス内の対応するプロパティ、およびその既定値の一覧を次の表に示します。これらの特定の値以外にも、開発者は任意のキー/値ペアを、OdbcConnectionStringBuilder のインスタンス内に保持されるコレクションに追加できます。
Driver プロパティを設定する場合、ドライバ名を中かっこ ({}) で囲む必要はありません。OdbcConnectionStringBuilder のインスタンスにより、中かっこ ({}) が必要に応じて追加されます。 | |||
|
接続文字列中の値 (Driver 値を除く) に、セミコロン (;) が含まれていた場合、OdbcConnectionStringBuilder は、その値の両側に引用符を追加して接続文字列に埋め込みます。セミコロンが使用される頻度の高い Driver 値については、この問題を回避するため、OdbcConnectionStringBuilder クラスによって常に両側に中かっこが追加されます。ODBC の仕様では、セミコロンを含むドライバ値は中かっこで囲むという決まりがあります。このクラスでは、この処理が自動的に行われます。
Item プロパティは、安全ではないコードの挿入が試みられた場合も、適切に処理します。たとえば、次のコードでは、既定の Item プロパティ (C# ではインデクサ) を使用することで、入れ子になったキー/値ペアが適切にエスケープされています。
Dim builder As _ New System.Data.Odbc.OdbcConnectionStringBuilder ' Take advantage of the Driver property. builder.Driver = "SQL Server" builder("Server") = "MyServer;NewValue=Bad" Console.WriteLine(builder.ConnectionString)
[C#]
System.Data.Odbc.OdbcConnectionStringBuilder builder = new System.Data.Odbc.OdbcConnectionStringBuilder(); // Take advantage of the Driver property. builder.Driver = "SQL Server"; builder["Server"] = "MyServer;NewValue=Bad"; Console.WriteLine(builder.ConnectionString);
結果は次の接続文字列になり、無効な値は安全な方法で処理されます。
Driver={SQL Server};Server="MyServer;NewValue=Bad"

次のコンソール アプリケーションでは、いくつかの ODBC データベースで使用される接続文字列を作成します。最初に、Microsoft Access データベース用の接続文字列を作成します。次に、IBM DB2 データベース用の接続文字列を作成します。また、既存の接続文字列を解析し、接続文字列の内容に対して各種の操作を行う例が示されています。
![]() |
---|
この例には、OdbcConnectionStringBuilder と接続文字列がどのように連携するかを示すパスワードが含まれています。アプリケーションでは、Windows 認証の使用をお勧めします。パスワードを使用する必要がある場合は、ハードコーディングされたパスワードをアプリケーションに組み込まないでください。 |
Imports System.Data.Odbc Module Module1 Sub Main() Dim builder As New OdbcConnectionStringBuilder() builder.Driver = "Microsoft Access Driver (*.mdb)" ' Call the Add method to explicitly add key/value ' pairs to the internal collection. builder.Add("Dbq", "C:\info.mdb") builder.Add("Uid", "Admin") builder.Add("Pwd", "pass!word1") Console.WriteLine(builder.ConnectionString) Console.WriteLine() ' Clear current values and reset known keys to their ' default values. builder.Clear() ' Pass the OdbcConnectionStringBuilder an existing ' connection string, and you can retrieve and ' modify any of the elements. builder.ConnectionString = _ "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" & _ "hostname=SampleServerName;port=SamplePortNum;" & _ "protocol=TCPIP;uid=Admin;pwd=pass!word1" Console.WriteLine("protocol = " & builder("protocol").ToString()) Console.WriteLine() ' Modify existing items: builder("uid") = "NewUser" builder("pwd") = "Pass@word2" ' Call the Remove method to remove items from ' the collection of key/value pairs. builder.Remove("port") ' Note that calling Remove on a nonexistent item does not ' throw an exception. builder.Remove("BadItem") Console.WriteLine(builder.ConnectionString) Console.WriteLine() ' The Item property is the default for the class, ' and setting the Item property adds the value, if ' necessary. builder("NewKey") = "newValue" Console.WriteLine(builder.ConnectionString) Console.WriteLine("Press Enter to finish.") Console.ReadLine() End Sub End Module
using System.Data.Odbc; class Program { static void Main() { OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder(); builder.Driver = "Microsoft Access Driver (*.mdb)"; // Call the Add method to explicitly add key/value // pairs to the internal collection. builder.Add("Dbq", "C:\\info.mdb"); builder.Add("Uid", "Admin"); builder.Add("Pwd", "pass!word1"); Console.WriteLine(builder.ConnectionString); Console.WriteLine(); // Clear current values and reset known keys to their // default values. builder.Clear(); // Pass the OdbcConnectionStringBuilder an existing // connection string, and you can retrieve and // modify any of the elements. builder.ConnectionString = "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" + "hostname=SampleServerName;port=SamplePortNum;" + "protocol=TCPIP;uid=Admin;pwd=pass!word1"; Console.WriteLine("protocol = " + builder["protocol"].ToString()); Console.WriteLine(); // Modify existing items. builder["uid"] = "NewUser"; builder["pwd"] = "Pass@word2"; // Call the Remove method to remove items from // the collection of key/value pairs. builder.Remove("port"); // Note that calling Remove on a nonexistent item does not // throw an exception. builder.Remove("BadItem"); Console.WriteLine(builder.ConnectionString); Console.WriteLine(); // Setting the indexer adds the associated value, if // necessary. builder["NewKey"] = "newValue"; Console.WriteLine(builder.ConnectionString); Console.WriteLine("Press Enter to finish."); Console.ReadLine(); } }

System.Data.Common.DbConnectionStringBuilder
System.Data.Odbc.OdbcConnectionStringBuilder


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


OdbcConnectionStringBuilder コンストラクタ ()
アセンブリ: System.Data (system.data.dll 内)


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


OdbcConnectionStringBuilder コンストラクタ (String)
アセンブリ: System.Data (system.data.dll 内)




次の例では、複数の OdbcConnectionStringBuilder インスタンスを作成し、それぞれの場合について異なる接続文字列をコンストラクタに渡しています。ConnectionString プロパティを取得すると、接続文字列における要素の順序が変わる場合があります。定義済みの "Dsn" や "Driver" 以外のキーは、OdbcConnectionStringBuilder クラスによって小文字に変換されます。
![]() |
---|
この例には、OdbcConnectionStringBuilder と接続文字列がどのように連携するかを示すパスワードが含まれています。アプリケーションでは、Windows 認証の使用をお勧めします。パスワードを使用する必要がある場合は、ハードコーディングされたパスワードをアプリケーションに組み込まないでください。 |
Imports System.Data.Odbc Module Module1 Sub Main() Try ' Build an empty instance, just to see ' the contents of the keys. DumpBuilderContents("") ' Create a SQL Server connection string. DumpBuilderContents("Driver={SQL Server};Server=(local);Database=AdventureWorks;Uid=ab;Pwd=pass@word1") ' Create an Access connection string. DumpBuilderContents("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\info.mdb;Exclusive=1;Uid=admin;Pwd=pass@word1") ' Create an Oracle connection string. DumpBuilderContents("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Admin;Pwd=pass@word1;") ' Create a Sybase connection string. DumpBuilderContents("Driver={SYBASE ASE ODBC Driver};Srvr=SomeServer;Uid=admin;Pwd=pass@word1") Console.WriteLine("Press any key to finish.") Console.ReadLine() Catch ex As System.ArgumentException Console.WriteLine("Error: " & ex.Message) End Try End Sub Private Sub DumpBuilderContents(ByVal connectString As String) Dim builder As New OdbcConnectionStringBuilder(connectString) Console.WriteLine("=================") Console.WriteLine("Original connectString = " & connectString) Console.WriteLine("builder.ConnectionString = " & builder.ConnectionString) For Each key As String In builder.Keys Console.WriteLine(key & "=" & builder.Item(key).ToString) Next End Sub End Module
using System.Data.Odbc; class Program { static void Main() { try { // Build an empty instance, just to see // the contents of the keys. DumpBuilderContents(""); // Create a SQL Server connection string. DumpBuilderContents("Driver={SQL Server};Server=(local);Database=AdventureWorks;Uid=ab;Pwd=pass@word1"); // Create an Access connection string. DumpBuilderContents(@"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\info.mdb;Exclusive=1;Uid=admin;Pwd=pass@word1"); // Create an Oracle connection string. DumpBuilderContents("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Admin;Pwd=pass@word1;"); // Create a Sybase connection string. DumpBuilderContents("Driver={SYBASE ASE ODBC Driver};Srvr=SomeServer;Uid=admin;Pwd=pass@word1"); Console.WriteLine("Press any key to finish."); Console.ReadLine(); } catch (System.ArgumentException ex) { Console.WriteLine("Error: " + ex.Message); } } private static void DumpBuilderContents(string connectString) { OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder(connectString); Console.WriteLine("================="); Console.WriteLine("Original connectString = " + connectString); Console.WriteLine("builder.ConnectionString = " + builder.ConnectionString); foreach (string key in builder.Keys) { Console.WriteLine(key + "=" + builder[key].ToString()); } } }

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


OdbcConnectionStringBuilder コンストラクタ

名前 | 説明 |
---|---|
OdbcConnectionStringBuilder () | OdbcConnectionStringBuilder クラスの新しいインスタンスを初期化します。 |
OdbcConnectionStringBuilder (String) | OdbcConnectionStringBuilder クラスの新しいインスタンスを初期化します。引数に渡した接続文字列によって、インスタンスの内部的な接続情報のデータが提供されます。 |

OdbcConnectionStringBuilder プロパティ

名前 | 説明 | |
---|---|---|
![]() | BrowsableConnectionString | ConnectionString プロパティが Visual Studio デザイナに表示できるかどうかを指定する値を取得または設定します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | ConnectionString | DbConnectionStringBuilder に関連付けられる接続文字列を取得または設定します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | Count | ConnectionString プロパティに格納されている、現在のキー数を取得します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | Driver | 接続に関連付けられた ODBC ドライバの名前を取得または設定します。 |
![]() | Dsn | 接続に関連付けられた データ ソース名 (DSN) を取得または設定します。 |
![]() | IsFixedSize | DbConnectionStringBuilder が固定サイズかどうかを示す値を取得します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | IsReadOnly | DbConnectionStringBuilder が読み取り専用かどうかを示す値を取得します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | Item | オーバーライドされます。 指定したキーに関連付けられている値を取得または設定します。C# では、このプロパティはインデクサです。 |
![]() | Keys | オーバーライドされます。 OdbcConnectionStringBuilder 内のキーを格納している ICollection を取得します。 |
![]() | Values | DbConnectionStringBuilder 内の値を格納している ICollection を取得します。 ( DbConnectionStringBuilder から継承されます。) |

OdbcConnectionStringBuilder メソッド

名前 | 説明 | |
---|---|---|
![]() | Add | 指定したキーおよび値を持つエントリを DbConnectionStringBuilder に追加します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | AppendKeyValuePair | オーバーロードされます。 効率的かつ安全に、既存の StringBuilder オブジェクトにキーと値を追加できます。 ( DbConnectionStringBuilder から継承されます。) |
![]() | Clear | オーバーライドされます。 OdbcConnectionStringBuilder インスタンスの内容を消去します。 |
![]() | ContainsKey | オーバーライドされます。 OdbcConnectionStringBuilder に特定のキーが格納されているかどうかを判断します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | EquivalentTo | この DbConnectionStringBuilder オブジェクト内の接続情報と、指定したオブジェクト内の接続情報を比較します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Remove | オーバーライドされます。 指定したキーを持つエントリを OdbcConnectionStringBuilder インスタンスから削除します。 |
![]() | ShouldSerialize | 指定されたキーが、この DbConnectionStringBuilder インスタンスに存在するかどうかを示します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | ToString | この DbConnectionStringBuilder に関連付けられている接続文字列を返します。 ( DbConnectionStringBuilder から継承されます。) |
![]() | TryGetValue | オーバーライドされます。 指定されたキーに対応する値を OdbcConnectionStringBuilder から取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

OdbcConnectionStringBuilder メンバ
OdbcConnection クラスで使用する接続文字列の内容の作成と管理を簡単に実行できるようにします。
OdbcConnectionStringBuilder データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | BrowsableConnectionString | ConnectionString プロパティが Visual Studio デザイナに表示できるかどうかを指定する値を取得または設定します。(DbConnectionStringBuilder から継承されます。) |
![]() | ConnectionString | DbConnectionStringBuilder に関連付けられる接続文字列を取得または設定します。(DbConnectionStringBuilder から継承されます。) |
![]() | Count | ConnectionString プロパティに格納されている、現在のキー数を取得します。(DbConnectionStringBuilder から継承されます。) |
![]() | Driver | 接続に関連付けられた ODBC ドライバの名前を取得または設定します。 |
![]() | Dsn | 接続に関連付けられた データ ソース名 (DSN) を取得または設定します。 |
![]() | IsFixedSize | DbConnectionStringBuilder が固定サイズかどうかを示す値を取得します。(DbConnectionStringBuilder から継承されます。) |
![]() | IsReadOnly | DbConnectionStringBuilder が読み取り専用かどうかを示す値を取得します。(DbConnectionStringBuilder から継承されます。) |
![]() | Item | オーバーライドされます。 指定したキーに関連付けられている値を取得または設定します。C# では、このプロパティはインデクサです。 |
![]() | Keys | オーバーライドされます。 OdbcConnectionStringBuilder 内のキーを格納している ICollection を取得します。 |
![]() | Values | DbConnectionStringBuilder 内の値を格納している ICollection を取得します。(DbConnectionStringBuilder から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Add | 指定したキーおよび値を持つエントリを DbConnectionStringBuilder に追加します。 (DbConnectionStringBuilder から継承されます。) |
![]() | AppendKeyValuePair | オーバーロードされます。 効率的かつ安全に、既存の StringBuilder オブジェクトにキーと値を追加できます。 (DbConnectionStringBuilder から継承されます。) |
![]() | Clear | オーバーライドされます。 OdbcConnectionStringBuilder インスタンスの内容を消去します。 |
![]() | ContainsKey | オーバーライドされます。 OdbcConnectionStringBuilder に特定のキーが格納されているかどうかを判断します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | EquivalentTo | この DbConnectionStringBuilder オブジェクト内の接続情報と、指定したオブジェクト内の接続情報を比較します。 (DbConnectionStringBuilder から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Remove | オーバーライドされます。 指定したキーを持つエントリを OdbcConnectionStringBuilder インスタンスから削除します。 |
![]() | ShouldSerialize | 指定されたキーが、この DbConnectionStringBuilder インスタンスに存在するかどうかを示します。 (DbConnectionStringBuilder から継承されます。) |
![]() | ToString | この DbConnectionStringBuilder に関連付けられている接続文字列を返します。 (DbConnectionStringBuilder から継承されます。) |
![]() | TryGetValue | オーバーライドされます。 指定されたキーに対応する値を OdbcConnectionStringBuilder から取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からOdbcConnectionStringBuilderを検索する場合は、下記のリンクをクリックしてください。

- OdbcConnectionStringBuilderのページへのリンク