OracleConnectionStringBuilderオブジェクトによって、アプリケーションは接続文字列を作成し変更できます。
ADO.NET 2.0準拠のODP.NETでのみサポートされています。
クラスの継承
System.Object
System.Data.Common.DbConnectionStringBuilder
Oracle.DataAccess.Client.OracleConnectionStringBuilder
宣言
// C# public sealed class OracleConnectionStringBuilder : DbConnectionStringBuilder
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
予約文字を使用して値を設定する場合には、次のルールに従う必要があります。
一重引用符で囲まれた文字を含む値
値に一重引用符で囲まれた文字が含まれる場合、値全体を二重引用符で囲む必要があります。
たとえば、値が'scoTT'の場合、password ="'scoTT'"とします。
二重引用符で囲まれた文字を含む値
値は二重引用符で囲み、大/小文字の区別を順守して、値が大文字にならないようにする必要があります。
値に二重引用符で囲まれた文字が含まれる場合、値を一重引用符で囲む必要があります。
たとえば、値が"scoTT"の場合、password = '"scoTT"'とします。
一重引用符と二重引用符の両方で囲まれた文字を含む値
値が一重引用符と二重引用符の両方で囲まれている場合、値を囲む引用符は、その値を使用するたびに二重に囲む必要があります。
たとえば、値が"sco'TT"の場合、password = '"sco''TT"'とします。
スペースを含む値
先頭および末尾にあるすべてのスペースは無視されますが、値の間にあるスペースは認識されます。値の先頭または末尾にスペースが必要な場合、二重引用符で囲む必要があります。
たとえば、値が<Sco TT>の場合、User ID = Sco TTとします。
たとえば、値が<Sco TT>の場合、User ID = "Sco TT "とします。
接続文字列内で複数回表示されるキーワード
指定したキーワードが接続文字列で複数回表示される場合、リストされた最後のキーワードが値セットで使用されます。
たとえば、"User ID = scott; password = tiger; User ID = david"接続文字の場合、User IDの値はdavidです。
例
// C#
using System;
using System.Data;
using System.Data.Common;
using Oracle.DataAccess.Client;
using System.Collections;
class ConnectionStringBuilderSample
{
static void Main(string[] args)
{
bool bRet = false;
// Create an instance of OracleConnectionStringBuilder
OracleConnectionStringBuilder connStrBuilder =
new OracleConnectionStringBuilder();
// Add new key/value pairs to the connection string
connStrBuilder.Add("User Id", "scott");
connStrBuilder.Add("Password", "tiger");
connStrBuilder.Add("Data Source", "oracle");
connStrBuilder.Add("pooling", false);
// Modify the existing value
connStrBuilder["Data source"] = "inst1";
// Remove an entry from the connection string
bRet = connStrBuilder.Remove("pooling");
//ContainsKey indicates whether or not the specific key exist
//returns true even if the user has not specified it explicitly
Console.WriteLine("Enlist exist: " +
connStrBuilder.ContainsKey("Enlist"));
//returns false
connStrBuilder.ContainsKey("Invalid");
// ShouldSerialize indicates whether or not a specific key
// exists in connection string inherited from DbConnectionStringBuilder.
// returns true if the key is explicitly added the user otherwise false;
// this will return false as this key doesn't exists.
connStrBuilder.ShouldSerialize("user");
// returns false because this key is nott added by user explicitly.
connStrBuilder.ShouldSerialize("Enlist");
// IsFixedSize [read-only property]
Console.WriteLine("Connection String is fixed size only: "
+ connStrBuilder.IsFixedSize);
Console.WriteLine("Key/Value Pair Count: " + connStrBuilder.Count);
//adding a new key which is not supported by the provider
//is not allowed.
try
{
//this will throw an exception.
connStrBuilder.Add("NewKey", "newValue");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("Key/Value Pair Count: " + connStrBuilder.Count);
//modifying a existing key is allowed.
connStrBuilder.Add("Enlist", false);
Console.WriteLine("Key/Value Pair Count: " + connStrBuilder.Count);
// Get all the keys and values supported by the provider.
ICollection keyCollection = connStrBuilder.Keys;
ICollection valueCollection = connStrBuilder.Values;
IEnumerator keys = keyCollection.GetEnumerator();
IEnumerator values = valueCollection.GetEnumerator();
while (keys.MoveNext())
{
values.MoveNext();
Console.WriteLine("Key: {0} Value: {1} \n"
,keys.Current ,values.Current);
}
}
}
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4
OracleConnectionStringBuilderメンバーを次の表にリストします。
OracleConnectionStringBuilderコンストラクタ
OracleConnectionStringBuilderコンストラクタを、表7-5にリストします。
表7-5 OracleConnectionStringBuilderコンストラクタ
| コンストラクタ | 説明 |
|---|---|
|
|
OracleConnectionStringBuilderパブリック・プロパティ
OracleConnectionStringBuilderインスタンス・プロパティを、表7-6にリストします。
表7-6 OracleConnectionStringBuilderパブリック・プロパティ
| プロパティ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connection String Builderに固定サイズがあるかどうかを示します。 |
|
|
|
|
|
指定された属性に関連した値を指定します。 |
|
|
Connection String Builder内に含まれる属性のコレクションを指定します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connection String Builder内に含まれる値のコレクションを指定します。 |
OracleConnectionStringBuilderパブリック・メソッド
OracleConnectionStringBuilderインスタンス・メソッドを、表7-7にリストします。
表7-7 OracleConnectionStringBuilderパブリック・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
接続文字列のコンテンツをクリアします。 |
|
|
ODP.NETが接続文字列内の特定の属性をサポートしているかどうかを示します。 |
|
|
|
|
|
接続文字列から指定された属性に対応するエントリを削除します。 |
|
|
|
|
|
|
|
|
指定された属性に対応する値を出力パラメータとして戻します。 |
OracleConnectionStringBuilderコンストラクタはOracleConnectionStringBuilderクラスの新規インスタンスをインスタンス化します。
オーバーロード・リスト:
OracleConnectionStringBuilder()
このコンストラクタでは、OracleConnectionStringBuilderクラスの新規インスタンスがインスタンス化されます。
OracleConnectionStringBuilder(string)
このコンストラクタは、指定された接続文字列とともにOracleConnectionStringBuilderクラスの新規インスタンスをインスタンス化します。
このコンストラクタでは、OracleConnectionStringBuilderクラスの新規インスタンスがインスタンス化されます。
宣言
// C# public OracleConnectionStringBuilder();
備考
ConnectionStringプロパティは、オブジェクト作成後に空にされます。
このコンストラクタは、指定された接続文字列とともにOracleConnectionStringBuilderクラスの新規インスタンスをインスタンス化します。
宣言
// C#
public OracleConnectionStringBuilder(string connectionString);
パラメータ
connectionString
接続情報。
例外
ArgumentNullException - connectionStringパラメータがNullです。
ArgumentException - connectionStringパラメータが無効です。
備考
このインスタンスのConnectionStringプロパティは、指定された接続文字列に設定されます。
OracleConnectionStringBuilderパブリック・プロパティを、表7-8にリストします。
表7-8 OracleConnectionStringBuilderパブリック・プロパティ
| プロパティ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connection String Builderに固定サイズがあるかどうかを示します。 |
|
|
|
|
|
指定された属性に関連した値を指定します。 |
|
|
Connection String Builder内に含まれる属性のコレクションを指定します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connection String Builder内に含まれる値のコレクションを指定します。 |
このプロパティは、ConnectionStringプロパティ内のConnection Lifetime属性に対応する値を指定します。
宣言
// C#
public int ConnectionLifetime{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が0未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のConnection Timeout属性に対応する値を指定します。
宣言
// C#
public int ConnectionTimeout{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が0未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のContext Connection属性に対応する値を指定します。
宣言
// C#
public bool ContextConnection {get; set;}
プロパティ値
指定された属性の値を表すbool。
このプロパティは、ConnectionStringプロパティ内のData Source属性に対応する値を指定します。
宣言
// C#
public string DataSource{get; set;}
プロパティ値
指定された属性の値を表す文字列。
例外
ArgumentNullException - 指定値はNullです。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のDBA Privilege属性に対応する値を指定します。
宣言
// C#
public string DBAPrivilege{get; set;}
プロパティ値
指定された属性の値を表す文字列。
可能な値は、SYSDBAまたはSYSOPERです。
例外
ArgumentNullException - 指定値はNullです。
OracleException - 指定値が無効です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のDecr Pool Size属性に対応する値を指定します。
宣言
// C#
public int DecrPoolSize{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が1未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のEnlist属性に対応する値を指定します。
宣言
// C#
public string Enlist{get; set;};
プロパティ値
指定された属性の値を表す文字列。値は大文字小文字が区別されます。可能な値はdynamic、true、false、yesおよびnoです。
例外
ArgumentNullException - 指定値はNullです。
OracleException: 指定された値が、dynamic、true、false、yesまたはnoのうち1つではありません。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のHA Events属性に対応する値を指定します。
宣言
// C#
public bool HAEvents{get; set;}
プロパティ値
指定された属性の値を表すbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のIncr Pool Size属性に対応する値を指定します。
宣言
// C#
public int IncrPoolSize{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が1未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
Connection String Builderに固定サイズがあるかどうかを示します。
宣言
// C#
public override bool IsFixedSize{get;}
プロパティ値
Connection String Builderに固定サイズがある場合はtrue、それ以外の場合はfalseを戻します。
備考
属性は追加または削除できません。これらは固定サイズの接続文字列に対してのみ変更できます。
このプロパティは、指定された属性に関連した値を指定します。
宣言
// C#
public override object this[string keyword]{get; set;}
プロパティ値
属性に対応するオブジェクト値。
例外
ArgumentNullException - 指定属性はNullです。
OracleException - 指定値がサポートされていないか、無効です。
このプロパティでは、Connection String Builder内に含まれる属性のコレクションを指定します。
宣言
// C#
public override ICollection Keys{get;}
プロパティ値
Connection String Builder内の属性を表すICollectionを戻します。
このプロパティは、ConnectionStringプロパティ内のLoad Balancing属性に対応する値を指定します。
宣言
// C#
public bool LoadBalancing {get; set;}
プロパティ値
指定された属性の値を含むbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のMax Pool Size属性に対応する値を指定します。
宣言
// C#
public int MaxPoolSize{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が1未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のMetadata Pooling属性に対応する値を指定します。
宣言
// C#
public bool MetadataPooling{get; set;};
プロパティ値
指定された属性の値を含むbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のMin Pool Size属性に対応する値を指定します。
宣言
// C#
public int MinPoolSize{get; set;}
プロパティ値
指定された属性の値を含むint。
例外
OracleException - 指定された値が0未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のPassword属性に対応する値を指定します。
宣言
// C#
public string Password{get; set;}
プロパティ値
指定された属性の値を含む文字列。
例外
ArgumentNullException - 指定値はNullです。
このプロパティは、ConnectionStringプロパティ内のPersist Security Info属性に対応する値を指定します。
宣言
// C#
public bool PersistSecurityInfo{get; set;}
プロパティ値
指定された属性の値を表すbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のPooling属性に対応する値を指定します。
宣言
// C#
public bool Pooling {get; set;}
プロパティ値
指定された属性の値を表すbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のProxy Password属性に対応する値を指定します。
宣言
// C#
public string ProxyPassword {get; set;}
プロパティ値
指定された属性の値を表す文字列。
例外
ArgumentNullException - 指定値はNullです。
このプロパティは、ConnectionStringプロパティ内のProxy User Id属性に対応する値を指定します。
宣言
// C#
public string ProxyUserId {get; set;}
プロパティ値
指定された属性の値を表す文字列。
例外
ArgumentNullException - 指定値はNullです。
このプロパティは、ConnectionStringプロパティ内のSelf Tuning属性に対応する値を指定します。
宣言
// C#
public bool SelfTuning {get; set;}
プロパティ値
指定された属性の値を表すbool。
このプロパティは、ConnectionStringプロパティ内のStatement Cache Purge属性に対応する値を指定します。
宣言
// C#
public bool StatementCachePurge {get; set;}
プロパティ値
指定された属性の値を表すbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のStatement Cache Size属性に対応する値を指定します。
宣言
// C#
public int StatementCacheSize{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException - 指定された値が0未満です。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
このプロパティは、ConnectionStringプロパティ内のUser Id属性に対応する値を指定します。
宣言
// C#
public string UserID{get; set;}
プロパティ値
指定された属性の値を表す文字列。
例外
ArgumentNullException - 指定値はNullです。
このプロパティは、ConnectionStringプロパティ内のValidate Connection属性に対応する値を指定します。
宣言
// C#
public bool ValidateConnection{get; set;}
プロパティ値
指定された属性の値を表すbool。
備考
OracleConnectionStringBuilderインスタンスが作成されると、このプロパティは接続文字列属性に対応するデフォルト値に設定されます。
OracleConnectionStringBuilderパブリック・メソッドを、表7-9にリストします。
表7-9 OracleConnectionStringBuilderパブリック・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
接続文字列のコンテンツをクリアします。 |
|
|
ODP.NETが接続文字列内の特定の属性をサポートしているかどうかを示します。 |
|
|
|
|
|
接続文字列から指定された属性に対応するエントリを削除します。 |
|
|
|
|
|
|
|
|
指定された属性に対応する値を出力パラメータとして戻します。 |
このメソッドは、接続文字列のコンテンツをクリアします。
宣言
// C# public override void Clear();
備考
すべてのキー/値ペアがOracleConnectionStringBuilderオブジェクトから削除され、ConnectionStringプロパティはEmptyに設定されます。
このメソッドは、ODP.NETが接続文字列内の特定の属性をサポートしているかどうかを示します。
宣言
// C#
public override bool ContainsKey(string keyword);
パラメータ
keyword
検証される属性。
戻り値
指定された属性が存在する場合はtrueを戻し、それ以外の場合はfalseを戻します。
例外
ArgumentNullException - 指定属性はNullです。
備考
このメソッドは、属性がプロバイダ・サポート属性の一部かどうかを示します。ユーザーが接続文字列に追加した属性かどうかは示しません。
このメソッドは、接続文字列から指定された属性に対応するエントリを削除します。
宣言
// C#
public override bool Remove(string keyword);
パラメータ
keyword
削除するエントリを指定する属性。
戻り値
接続文字列内に存在する属性および対応するエントリが削除された場合はtrue、それ以外の場合はfalseを戻します。
例外
ArgumentNullException - 指定属性はNullです。
このメソッドは、指定された属性に対応する値を出力パラメータとして戻します。
宣言
// C# public override bool TryGetValue(string keyword, out object value);
パラメータ
keyword
取得される値の属性。
value
指定属性の値。
属性が接続文字列にない場合、valueをデフォルト値に設定します。
戻り値
属性に対応する値が正常に取得された場合はtrue、それ以外の場合はfalseを戻します。接続文字列内に属性がない場合はfalseを戻し、valueをNullに設定します。
例外
ArgumentNullException - 指定属性はNullです。
備考
関数がfalseを戻す場合、valueをnullに設定します。
属性が接続文字列にない場合、valueをデフォルト値に設定します。