次の方法で共有


OdbcConnectionStringBuilder クラス

定義

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
継承
OdbcConnectionStringBuilder
属性

次のコンソール アプリケーションは、複数の 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)

メソッド

Add(String, Object)

指定したキーおよび値を持つエントリを DbConnectionStringBuilder に追加します。

(継承元 DbConnectionStringBuilder)
Clear()

OdbcConnectionStringBuilder インスタンスの内容を消去します。

ClearPropertyDescriptors()

関連する DbConnectionStringBuilder 上の PropertyDescriptor オブジェクトのコレクションをクリアします。

(継承元 DbConnectionStringBuilder)
ContainsKey(String)

OdbcConnectionStringBuilder に特定のキーが格納されているかどうかを判断します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
EquivalentTo(DbConnectionStringBuilder)

この DbConnectionStringBuilder オブジェクトの接続情報を、提供されたオブジェクトの接続情報を比較します。

(継承元 DbConnectionStringBuilder)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperties(Hashtable)

指定された Hashtable に、この DbConnectionStringBuilder のすべてのプロパティに関する情報を格納します。

(継承元 DbConnectionStringBuilder)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Remove(String)

指定されたキーを持つエントリを OdbcConnectionStringBuilder インスタンスから削除します。

ShouldSerialize(String)

指定されたキーが、この DbConnectionStringBuilder インスタンスに存在するかどうかを示します。

(継承元 DbConnectionStringBuilder)
ToString()

DbConnectionStringBuilder に関連付けられた接続文字列を返します。

(継承元 DbConnectionStringBuilder)
TryGetValue(String, Object)

提供されたキーに対応する値をこの OdbcConnectionStringBuilder から取得します。

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32)

ICollection の要素を Array にコピーします。Array の特定のインデックスからコピーが開始されます。

(継承元 DbConnectionStringBuilder)
ICollection.IsSynchronized

ICollection へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。

(継承元 DbConnectionStringBuilder)
ICollection.SyncRoot

ICollection へのアクセスを同期するために使用できるオブジェクトを取得します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

コンポーネントのこのインスタンスのカスタム属性のコレクションを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

コンポーネントのこのインスタンスのクラス名を返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

コンポーネントのこのインスタンスの名前を返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

コンポーネントのこのインスタンスの型コンバーターを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

コンポーネントのこのインスタンスの既定のイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

コンポーネントのこのインスタンスの既定のプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

コンポーネントのこのインスタンスに対して指定されている型のエディターを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

コンポーネントのこのインスタンスのイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

フィルターとして指定された属性配列を使用して、コンポーネントのこのインスタンスのイベントを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

コンポーネントのこのインスタンスのプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

属性配列をフィルターとして使用して、コンポーネントのこのインスタンスのプロパティを返します。

(継承元 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

指定したプロパティ記述子によって記述されたプロパティを含むオブジェクトを返します。

(継承元 DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

指定したキーおよび値を持つ要素を IDictionary オブジェクトに追加します。

(継承元 DbConnectionStringBuilder)
IDictionary.Contains(Object)

指定したキーを持つ要素が IDictionary オブジェクトに格納されているかどうかを確認します。

(継承元 DbConnectionStringBuilder)
IDictionary.GetEnumerator()

IDictionary オブジェクトの IDictionaryEnumerator オブジェクトを返します。

(継承元 DbConnectionStringBuilder)
IDictionary.Item[Object]

指定したキーを持つ要素を取得または設定します。

(継承元 DbConnectionStringBuilder)
IDictionary.Remove(Object)

指定したキーを持つ要素を IDictionary オブジェクトから削除します。

(継承元 DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

コレクションを反復処理する列挙子を返します。

(継承元 DbConnectionStringBuilder)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください