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をデフォルト値に設定します。