OdbcConnectionStringBuilder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
OdbcConnection クラスで使用される接続文字列の内容を簡単に作成および管理するための手段を提供します。
public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
- 継承
- 属性
例
次のコンソール アプリケーションは、複数の ODBC データベースの接続文字列をビルドします。 最初に、Microsoft Access データベースの接続文字列を作成します。 次に、IBM DB2 データベースの接続文字列を作成します。 この例では、既存の接続文字列も解析し、接続文字列の内容を操作するさまざまな方法を示しています。
注意
この例には、OdbcConnectionStringBuilder による接続文字列の操作方法を示すために、パスワードが含まれています。 実際のアプリケーションでは、Windows 認証を使用することをお勧めします。 パスワードを使用する必要がある場合も、ハードコードされたパスワードをアプリケーションに含めないでください。
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();
}
}
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
注釈
接続文字列 ビルダーを使用すると、開発者はプログラムで構文的に正しい接続文字列を作成し、 クラスのプロパティとメソッドを使用して既存の接続文字列を解析して再構築できます。 接続文字列 ビルダーは、ODBC 接続で許可されている既知のキーと値のペアに対応する厳密に型指定されたプロパティを提供し、開発者は他の接続文字列値に任意のキーと値のペアを追加できます。
アプリケーションの一部として接続文字列を作成する必要がある開発者は、OdbcConnectionStringBuilder クラスを使用して接続文字列を作成および変更できます。 また、このクラスを使用すると、アプリケーションの構成ファイルに保存された接続文字列を容易に管理することができます。 OdbcConnectionStringBuilder は、既知のキーと値のペアの限られたセットについてのみチェックを実行します。 そのため、このクラスを使用して無効な接続文字列を作成できます。 次の表に、特定の既知のキーと、 クラス内の対応するプロパティ、およびそれらの既定値を OdbcConnectionStringBuilder 示します。 これらの特定の値に加えて、開発者は、インスタンス内に含まれる任意のキーと値のペアをコレクションに OdbcConnectionStringBuilder 追加できます。
キー | プロパティ | コメント | 既定値 |
---|---|---|---|
Driver | Driver | 開発者は、 プロパティを設定するときに、ドライバー名を囲む中かっこを Driver 含めてはいけません。 インスタンスは OdbcConnectionStringBuilder 、必要に応じて中かっこを追加します。 | 空の文字列 |
DSN (DSN) | Dsn | 空の文字列 |
接続文字列内の値 (値以外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)
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"
コンストラクター
OdbcConnectionStringBuilder() |
OdbcConnectionStringBuilder クラスの新しいインスタンスを初期化します。 |
OdbcConnectionStringBuilder(String) |
OdbcConnectionStringBuilder クラスの新しいインスタンスを初期化します。 指定された接続文字列によって、インスタンスの内部的な接続情報のデータが提供されます。 |
プロパティ
BrowsableConnectionString |
ConnectionString プロパティを Visual Studio デザイナーに表示するかどうかを示す値を取得または設定します。 (継承元 DbConnectionStringBuilder) |
ConnectionString |
DbConnectionStringBuilder に関連付けられた接続文字列を取得または設定します。 (継承元 DbConnectionStringBuilder) |
Count |
ConnectionString プロパティ内に含まれる現在のキー数を取得します。 (継承元 DbConnectionStringBuilder) |
Driver |
接続に関連付けられた ODBC ドライバーの名前を取得または設定します。 |
Dsn |
接続に関連付けられた データ ソース名 (DSN) を取得または設定します。 |
IsFixedSize |
DbConnectionStringBuilder が固定サイズかどうかを示す値を取得します。 (継承元 DbConnectionStringBuilder) |
IsReadOnly |
DbConnectionStringBuilder が読み取り専用かどうかを示す値を取得します。 (継承元 DbConnectionStringBuilder) |
Item[String] |
指定されたキーに関連付けられている値を取得または設定します。 C# の場合、このプロパティはインデクサーです。 |
Keys |
ICollection 内のキーが格納されている OdbcConnectionStringBuilder を取得します。 |
Values |
ICollection 内の値を格納している DbConnectionStringBuilder を取得します。 (継承元 DbConnectionStringBuilder) |
メソッド
明示的なインターフェイスの実装
拡張メソッド
Cast<TResult>(IEnumerable) |
IEnumerable の要素を、指定した型にキャストします。 |
OfType<TResult>(IEnumerable) |
指定された型に基づいて IEnumerable の要素をフィルター処理します。 |
AsParallel(IEnumerable) |
クエリの並列化を有効にします。 |
AsQueryable(IEnumerable) |
IEnumerable を IQueryable に変換します。 |
適用対象
こちらもご覧ください
.NET