OracleDataSourceEnumerator
オブジェクトは、アプリケーションが、接続するデータ・ソースのコレクションを一般的に取得できるようにします。
クラスの継承
System.Object
System.DbDataSourceEnumerator
Oracle.DataAccess.Client.OracleDataSourceEnumerator
宣言
// C# public sealed class OracleDataSourceEnumerator : DbDataSourceEnumerator
要件
プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ |
アセンブリ | Oracle.DataAccess.dll |
Oracle.ManagedDataAccess.dll |
ネームスペース | Oracle.DataAccess.Client |
Oracle.ManagedDataAccess.Client |
.NET Framework | 3.5, 4.0, 4.5 | 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// C# using System; using System.Data; using System.Data.Common; using Oracle.DataAccess.Client; class DataSourceEnumSample { static void Main() { string ProviderName = "Oracle.DataAccess.Client"; DbProviderFactory factory = DbProviderFactories.GetFactory(ProviderName); if (factory.CanCreateDataSourceEnumerator) { DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator(); DataTable dt = dsenum.GetDataSources(); // Print the first column/row entry in the DataTable Console.WriteLine(dt.Columns[0] + " : " + dt.Rows[0][0]); Console.WriteLine(dt.Columns[1] + " : " + dt.Rows[0][1]); Console.WriteLine(dt.Columns[2] + " : " + dt.Rows[0][2]); Console.WriteLine(dt.Columns[3] + " : " + dt.Rows[0][3]); Console.WriteLine(dt.Columns[4] + " : " + dt.Rows[0][4]); } else Console.Write("Data source enumeration is not supported by provider"); } }
次の表に、OracleDataSourceEnumerator
メンバーを示します。
OracleDataSourceEnumeratorコンストラクタ
OracleDataSourceEnumerator
パブリック・メソッドを、表6-60にリストします。
OracleDataSourceEnumeratorパブリック・メソッド
OracleDataSourceEnumerator
パブリック・メソッドを、表6-61にリストします。
OracleDataSourceEnumerator
コンストラクタは、OracleDataSourceEnumerator
クラスの新規インスタンスを作成します。
宣言
// C# public OracleDataSourceEnumerator();
OracleDataSourceEnumerator
静的メソッドを、表6-62にリストします。
表6-62 OracleDataSourceEnumeratorメソッド
メソッド | 説明 |
---|---|
|
このメソッドは、tnsnames.ora
ファイル内のTNS別名エントリおよびLDAPネーミングが有効化されている場合にldap.ora
内で構成されているLDAPサーバーから取得されたエントリすべての情報が格納された、DataTable
オブジェクトを返します。
宣言
// C# public override DataTable GetDataSources();
戻り値
DataTable
オブジェクト。
備考
このメソッドは、tnsnames.ora
ファイル内に存在するTNS別名エントリごとに、およびLDAPサーバーから取得されたエントリごとにDataTable
オブジェクトを返します。tnsnames.ora
ファイルが見つからず、LDAPネーミングも構成されていない場合は、返されるDataTable
オブジェクトは空になります。
Oracle Internet Directory (OID)がTNSネーミング・リポジトリに対して使用されているときは、取得されるTNSエントリの数は1000までという制限があります。
次の列は各行に対して戻されますが、InstanceName
列のみに入力されています。
InstanceName
(タイプ: System.String
)
ServerName
(タイプ: System.String
)
ServiceName
(タイプ: System.String
)
Protocol
(タイプ: System.String
)
Port
(タイプ: System.String
)
プールされた既存の接続に対してTNSやLDAPの情報が変更されても、プールをクリアしないかぎり、呼出し側のGetDataSources
はその変更を返しません。