OracleOnsServerCollectionクラス
OracleOnsServerCollectionクラスは、Oracle Notification Service (ONS)デーモンがリモート・クライアントと通信しているノードの対応するリストによる論理サーバーのコレクションへの追加およびそのコレクションからの削除をサポートしています。
リモート構成の場合、そのアプリケーションでは、接続する可能性のあるすべてのデータベースに対して<host>:<port>値を指定する必要があります。<host>:<port>値のペアは、異なるノードのポートを表します。
クラスの継承
System.Object
Oracle.ManagedDataAccess.Client.OracleOnsServerCollection
宣言
// C# public static class OracleOnsServerCollection
要件
| プロバイダ | ODP.NET管理対象ドライバ | ODP.NET Core |
|---|---|---|
|
アセンブリ |
|
|
|
ネームスペース |
|
|
|
.NET Framework |
4.5, 4.6, 4.7, 4.8 |
4.6.1以降 |
|
.NET Core |
- |
2.1以降 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
using System;
using Oracle.ManagedDataAccess.Client;
namespace NetCoreApp
{
class OnsServersExample
{
static void Main(string[] args)
{
// Example to configure ONS Servers for the ODP.NET Core provider.
// Add server through Add method on OracleOnsServerCollection
OracleConfiguration.OracleOnsServers.Add("db1", "nodeList=host1:port1, host2:port2, host3:port3");
// Add server through indexer method on OracleOnsServerCollection
OracleConfiguration.OracleOnsServers["db2"] = "nodeList=m1:p1, m2:p2";
// Get number of servers configured
int numServers = OracleConfiguration.OracleOnsServers.Count;
// Get OracleOnsServerCollection object
OracleOnsServerCollection serverColl = OracleConfiguration.OracleOnsServers;
// Add server through Add method on OracleOnsServerCollection
serverColl.Add("db3", "nodeList=host1:port1, host2:port2, host3:port3");
// Add server through indexer method on OracleOnsServerCollection
serverColl["db4"] = "nodeList=m1:p1, m2:p2";
// Remove a server
OracleConfiguration.OracleOnsServers.Remove("db2");
// Get number of servers configured
numServers = OracleConfiguration.OracleOnsServers.Count;
// Get value corresponding to a server.
string serverVal = OracleConfiguration.OracleOnsServers["db1"];
OracleConnection orclCon = null;
try
{
// Open a test connection
orclCon = new OracleConnection("user id=scott; password=tiger; data source=oracle");
orclCon.Open();
orclCon.Close();
}
catch (OracleException ex)
{
Console.WriteLine(ex);
}
finally
{
// Close the connection
if (null != orclCon)
orclCon.Close();
}
}
}
}