OleDbConnectionStringBuilder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
OleDbConnection クラスで使用される接続文字列の内容を簡単に作成および管理するための手段を提供します。
public ref class OleDbConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))]
public sealed class OleDbConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))>]
type OleDbConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OleDbConnectionStringBuilder
Inherits DbConnectionStringBuilder
- 継承
- 属性
例
次のコンソール アプリケーションは、複数の OLE DB データベースの接続文字列をビルドします。 最初に、この例では Microsoft Access データベースの接続文字列を作成し、次に IBM DB2 データベースの接続文字列を作成します。 この例では、既存の接続文字列も解析し、接続文字列の内容を操作するさまざまな方法を示します。
注意
この例には、OleDbConnectionStringBuilder による接続文字列の操作方法を示すために、パスワードが含まれています。 実際のアプリケーションでは、Windows 認証を使用することをお勧めします。 パスワードを使用する必要がある場合も、ハードコードされたパスワードをアプリケーションに含めないでください。
using System.Data.OleDb;
class Program
{
static void Main(string[] args)
{
OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=C:\Sample.mdb";
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
builder.Add("Jet OLEDB:Database Password", "MyPassword!");
builder.Add("Jet OLEDB:System Database", @"C:\Workgroup.mdb");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OleDbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"Provider=DB2OLEDB;Network Transport Library=TCPIP;" +
"Network Address=192.168.0.12;Initial Catalog=DbAdventures;" +
"Package Collection=SamplePackage;Default Schema=SampleSchema;";
Console.WriteLine("Network Address = " + builder["Network Address"].ToString());
Console.WriteLine();
// Modify existing items.
builder["Package Collection"] = "NewPackage";
builder["Default Schema"] = "NewSchema";
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("User ID");
// 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 value, if
// necessary.
builder["User ID"] = "SampleUser";
builder["Password"] = "SamplePassword";
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
Imports System.Data.OleDb
Imports System.Collections
Module Module1
Sub Main()
Dim builder As New OleDbConnectionStringBuilder()
builder.ConnectionString = "Data Source=C:\Sample.mdb"
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
builder.Add("Jet OLEDB:Database Password", "MyPassword!")
builder.Add("Jet OLEDB:System Database", "C:\Workgroup.mdb")
' Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1)
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OleDbConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString = _
"Provider=DB2OLEDB;Network Transport Library=TCPIP;" & _
"Network Address=192.168.0.12;Initial Catalog=DbAdventures;" & _
"Package Collection=SamplePackage;Default Schema=SampleSchema;"
Console.WriteLine("Network Address = " & builder("Network Address").ToString())
Console.WriteLine()
' Modify existing items.
builder("Package Collection") = "NewPackage"
builder("Default Schema") = "NewSchema"
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("User ID")
' 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("User ID") = "SampleUser"
builder("Password") = "SamplePassword"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
注釈
接続文字列ビルダーを使用すると、開発者はこのクラスのプロパティおよびメソッドを使用することによって、正しい構文の接続文字列をプログラムで作成し、既存の接続文字列の解析や再作成を行うことができます。 接続文字列 ビルダーは、OLE DB 接続で許可されている既知のキーと値のペアに対応する厳密に型指定されたプロパティを提供し、開発者は他の接続文字列値に任意のキーと値のペアを追加できます。 OleDbConnectionStringBuilder クラスは、ICustomTypeDescriptor インターフェイスを実装します。 つまり、クラスはデザイン時に Visual Studio .NET デザイナーと連携します。 開発者がデザイナーを使用して Visual Studio .NET 内で厳密に型指定された DataSet と厳密に型指定された接続を構築する場合、厳密に型指定された 接続文字列 ビルダー クラスには、その型に関連付けられているプロパティが表示され、既知のキーの共通値をマップできるコンバーターも含まれます。
アプリケーションの一部として接続文字列を作成する必要がある開発者は、OleDbConnectionStringBuilder クラスを使用して接続文字列を作成および変更できます。 また、このクラスを使用すると、アプリケーションの構成ファイルに保存された接続文字列を容易に管理することができます。 では OleDbConnectionStringBuilder 、既知のキーと値のペアの限られたセットについてのみチェックが実行されます。 そのため、このクラスを使用して無効な接続文字列を作成できます。 次の表に、クラス内 OleDbConnectionStringBuilder の既知のキーとそれに対応するプロパティと、それらの既定値を示します。 これらの特定の値に加えて、開発者は、インスタンス内に含まれる任意のキーと値のペアをコレクションに OleDbConnectionStringBuilder 追加できます。
Key | プロパティ | 既定値 |
---|---|---|
ファイル名 | FileName | "" |
プロバイダー | Provider | "" |
Data Source | DataSource | "" |
Persist Security Info | PersistSecurityInfo | × |
OLE DB Services (OLE DB サービス) | OleDbServices | -13 |
プロパティは Item[] 、悪意のあるエントリの挿入試行を処理します。 たとえば、次のコードでは、既定 Item[] のプロパティ (C# ではインデクサー) を使用して、入れ子になったキーと値のペアを正しくエスケープします。
Dim builder As _
New System.Data.OleDb.OleDbConnectionStringBuilder
builder("Provider") = "Microsoft.Jet.OLEDB.4.0"
builder("Data Source") = "C:\Sample.mdb"
builder("User Id") = "Admin;NewValue=Bad"
System.Data.OleDb.OleDbConnectionStringBuilder builder =
new System.Data.OleDb.OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
builder["Data Source"] = "C:\\Sample.mdb";
builder["User Id"] = "Admin;NewValue=Bad";
結果は、無効な値が安全に処理される、次の接続文字列になります。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"
コンストラクター
OleDbConnectionStringBuilder() |
OleDbConnectionStringBuilder クラスの新しいインスタンスを初期化します。 |
OleDbConnectionStringBuilder(String) |
OleDbConnectionStringBuilder クラスの新しいインスタンスを初期化します。 指定された接続文字列によって、インスタンスの内部的な接続情報のデータが提供されます。 |
プロパティ
BrowsableConnectionString |
ConnectionString プロパティを Visual Studio デザイナーに表示するかどうかを示す値を取得または設定します。 (継承元 DbConnectionStringBuilder) |
ConnectionString |
DbConnectionStringBuilder に関連付けられた接続文字列を取得または設定します。 (継承元 DbConnectionStringBuilder) |
Count |
ConnectionString プロパティ内に含まれる現在のキー数を取得します。 (継承元 DbConnectionStringBuilder) |
DataSource |
接続先のデータ ソースの名前を取得または設定します。 |
FileName |
データ ソースへの接続に使用する汎用データ リンク (UDL) ファイルの名前を取得または設定します。 |
IsFixedSize |
DbConnectionStringBuilder が固定サイズかどうかを示す値を取得します。 (継承元 DbConnectionStringBuilder) |
IsReadOnly |
DbConnectionStringBuilder が読み取り専用かどうかを示す値を取得します。 (継承元 DbConnectionStringBuilder) |
Item[String] |
指定されたキーに関連付けられている値を取得または設定します。 C# の場合、このプロパティはインデクサーです。 |
Keys |
ICollection 内のキーが格納されている OleDbConnectionStringBuilder を取得します。 |
OleDbServices |
接続文字列の中で OLE DB Services キーに対応する値を取得または設定します。 |
PersistSecurityInfo |
接続が開いているか、開いている状態になったことがある場合に、パスワードなどの機密性の高い情報を接続文字列の一部として返すかどうかを示すブール値を取得または設定します。 |
Provider |
接続文字列に関連付けられたデータ プロバイダーの名前を内部的に保持する文字列を取得または設定します。 |
Values |
ICollection 内の値を格納している DbConnectionStringBuilder を取得します。 (継承元 DbConnectionStringBuilder) |
メソッド
明示的なインターフェイスの実装
拡張メソッド
Cast<TResult>(IEnumerable) |
IEnumerable の要素を、指定した型にキャストします。 |
OfType<TResult>(IEnumerable) |
指定された型に基づいて IEnumerable の要素をフィルター処理します。 |
AsParallel(IEnumerable) |
クエリの並列化を有効にします。 |
AsQueryable(IEnumerable) |
IEnumerable を IQueryable に変換します。 |
適用対象
こちらもご覧ください
.NET