Oracle® Data Provider for .NET開発者ガイド ODAC 12c リリース4 (12.1.0.2) for Microsoft Windows E72575-01 |
|
前 |
次 |
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.6 | 4.0, 4.5, 4.6 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// 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-62にリストします。
OracleDataSourceEnumeratorパブリック・メソッド
OracleDataSourceEnumerator
パブリック・メソッドを、表6-63にリストします。
OracleDataSourceEnumerator
コンストラクタは、OracleDataSourceEnumerator
クラスの新規インスタンスを作成します。
宣言
// C# public OracleDataSourceEnumerator();
OracleDataSourceEnumerator
静的メソッドを、表6-64にリストします。
表6-64 OracleDataSourceEnumeratorメソッド
メソッド | 説明 |
---|---|
|
このメソッドは、tnsnames.ora
ファイル内のTNS別名エントリおよびLDAPネーミングが有効化されている場合にldap.ora
内で構成されているLDAPサーバーから取得されたエントリすべての情報が格納された、DataTable
オブジェクトを返します。
宣言
// C# public override DataTable GetDataSources();
戻り値
DataTable
オブジェクト。
備考
このメソッドは、tnsnames.ora
ファイル内に存在するTNS別名エントリごとに、およびLDAPサーバーから取得されたエントリごとにDataTable
オブジェクトを返します。tnsnames.ora
ファイルが見つからず、LDAPネーミングも構成されていない場合は、返されるDataTable
オブジェクトは空になります。
ODP.NET管理対象ドライバのこのメソッドは、すべてのデータ・ソース別名をOracle Internet DirectoryまたはMicrosoft Active DirectoryなどのLDAPサーバーからフェッチできます。ODP.NET管理対象外ドライバのこのメソッドは、LDAPサーバーからのデータ・ソース別名の取得をサポートしません。
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
はその変更を返しません。