OracleConnectionStringBuilder
オブジェクトにより、アプリケーションで接続文字列の作成または変更が可能になります。
ADO.NET 2.0準拠のODP.NETでのみサポート
クラスの継承
System.Object
System.Data.Common.DbConnectionStringBuilder
Oracle.DataAccess.Client.OracleConnectionStringBuilder
宣言
// C# public sealed class OracleConnectionStringBuilder : DbConnectionStringBuilder
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
予約文字を使用して値を設定するには、次のルールに従う必要があります。
一重引用符で囲まれた文字を含む値
一重引用符で囲まれた文字が値に含まれている場合は、値全体を二重引用符で囲む必要があります。
たとえば、password =
"'scoTT'"
の値は、'scoTT'
です。
二重引用符で囲まれた文字を含む値
値の大/小文字を維持して、大文字に変換されないようにするには、値を二重引用符で囲みます。
二重引用符で囲まれた文字が値に含まれている場合は、値を一重引用符で囲む必要があります。
たとえば、password =
'"scoTT"'
の値は、"scoTT"
です。
一重引用符と二重引用符の両方で囲まれた文字を含む値
一重引用符と二重引用符の両方で囲まれた文字が値に含まれている場合は、値を囲むために使用されている引用符が値内で使用されるたびに、その引用符を2個使用する必要があります。
たとえば、password =
'"sco''TT"'
の値は、"sco'TT"
です。
空白を含む値
値の前後にある空白はすべて無視されますが、値の間にある空白は認識されます。 値の前後に空白が必要な場合は、二重引用符で囲む必要があります。
たとえば、User ID =
Sco
TT
の値は、<Sco
TT>
です。
たとえば、User ID =
"Sco
TT "
の値は、<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) { string connString = "user id=scott;password=tiger;Data source=oracle;"; bool bRet = false; // Create an instance of OracleConnectionStringBuilder OracleConnectionStringBuilder connStrBuilder = new OracleConnectionStringBuilder(connString); // Add a new key/value to the connection string 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(ex.StackTrace); } 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
Microsoft .NET Frameworkバージョン: 2.0
OracleConnectionStringBuilder
メンバーは、次の各表にリストしています。
OracleConnectionStringBuilderコンストラクタ
OracleConnectionStringBuilder
コンストラクタのリストを、表7-5に示します。
表7-5 OracleConnectionStringBuilderコンストラクタ
コンストラクタ | 説明 |
---|---|
|
OracleConnectionStringBuilderパブリック・プロパティ
OracleConnectionStringBuilder
インスタンスのプロパティを、表7-6に示します。
表7-6 OracleConnectionStringBuilderパブリック・プロパティ
プロパティ | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接続文字列ビルダーが固定サイズかどうかを示します |
|
|
|
指定された属性と関連付けられる値を指定します |
|
接続文字列ビルダーに含まれる属性のコレクションを指定します |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接続文字列ビルダーに含まれる値のコレクションを指定します |
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パブリック・プロパティ
プロパティ | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接続文字列ビルダーが固定サイズかどうかを示します |
|
|
|
指定された属性と関連付けられる値を指定します |
|
接続文字列ビルダーに含まれる属性のコレクションを指定します |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接続文字列ビルダーに含まれる値のコレクションを指定します |
このプロパティは、ConnectionString
プロパティのConnection
Lifetime
属性に対応する値を指定します。
宣言
// C# public int ConnectionLifetime{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException
: 指定された値がゼロ未満です。
備考
OracleConnectionStringBuilder
インスタンスが作成されたときに、このプロパティは対応する接続文字列属性のデフォルト値に設定されます。
このプロパティは、ConnectionString
プロパティのConnection
Timeout
属性に対応する値を指定します。
宣言
// C# public int ConnectionTimeout{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException
: 指定された値がゼロ未満です。
備考
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
のいずれでもありません。
備考
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
インスタンスが作成されたときに、このプロパティは対応する接続文字列属性のデフォルト値に設定されます。
接続文字列ビルダーが固定サイズかどうかを示します。
宣言
// C# public override bool IsFixedSize{get;}
プロパティ値
接続文字列ビルダーが固定サイズの場合はtrue
、それ以外の場合はfalse
を戻します。
備考
属性は追加または削除できません。固定サイズの接続文字列の場合にのみ変更できます。
このプロパティは、指定された属性と関連付けられる値を指定します。
宣言
// C# public override object this[string keyword]{get; set;}
プロパティ値
属性に対応するオブジェクト値
例外
ArgumentNullException
: 指定された属性はNULLです。
OracleException
: 指定された属性がサポートされていないか、指定された値が無効です。
このプロパティは、接続文字列ビルダーに含まれる属性のコレクションを指定します。
宣言
// C# public override ICollection Keys{get;}
プロパティ値
接続文字列ビルダーの属性を表す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
プロパティのStatement
Cache
Purge
属性に対応する値を指定します。
宣言
// C# public bool StatementCachePurge {get; set;}
プロパティ値
指定された属性の値を表すbool
備考
OracleConnectionStringBuilder
インスタンスが作成されたときに、このプロパティは対応する接続文字列属性のデフォルト値に設定されます。
このプロパティは、ConnectionString
プロパティのStatement
Cache
Size
属性に対応する値を指定します。
宣言
// C# public int StatementCacheSize{get; set;}
プロパティ値
指定された属性の値を表すint
例外
OracleException
: 指定された値がゼロ未満です。
備考
OracleConnectionStringBuilder
インスタンスが作成されたときに、このプロパティは対応する接続文字列属性のデフォルト値に設定されます。
このプロパティは、ConnectionString
プロパティのUser
Id
属性に対応する値を指定します。
宣言
// C# public string UserID{get; set;}
プロパティ値
指定された属性の値を表す文字列。
例外
ArgumentNullException
: 指定された値はNULLです。
このプロパティは、ConnectionString
プロパティのValidate
Connection
属性に対応する値を指定します。
宣言
// C# public bool ValidateConnection{get; set;}
プロパティ値
指定された属性の値を表すbool
備考
OracleConnectionStringBuilder
インスタンスが作成されたときに、このプロパティは対応する接続文字列属性のデフォルト値に設定されます。
このプロパティは、接続文字列ビルダーに含まれる値のコレクションを指定します。
宣言
// C# public override ICollection Values{get;}
プロパティ値
接続文字列ビルダーの値を表すICollection
を戻します。
備考
ICollection
内の値の順番は指定されませんが、Keys
プロパティにより戻されるICollection
に関連付けられている属性の場合と同じです。
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
をデフォルト値に設定します。