日本語PDF

OracleOnsServerCollectionクラス

OracleOnsServerCollectionクラスは、Oracle Notification Service (ONS)デーモンがリモート・クライアントと通信しているノードの対応するリストによる論理サーバーのコレクションへの追加およびそのコレクションからの削除をサポートしています。

リモート構成の場合、そのアプリケーションでは、接続する可能性のあるすべてのデータベースに対して<host>:<port>値を指定する必要があります。<host>:<port>値のペアは、異なるノードのポートを表します。

クラスの継承

System.Object

Oracle.ManagedDataAccess.Client.OracleOnsServerCollection

宣言

// C#
public static class OracleOnsServerCollection

要件

プロバイダ ODP.NET Core

アセンブリ

Oracle.ManagedDataAccess.dll

ネームスペース

Oracle.ManagedDataAccess.Client

.NET Framework

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();
      }
    }
  }
}