ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
11g リリース2 (11.2.0.4)
B66456-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OracleFailoverEventArgsクラス

OracleFailoverEventArgsクラスは、OracleConnection.Failoverイベントのイベント・データを提供します。データベースのフェイルオーバーが発生すると、OracleConnection.Failoverイベントが、イベント・データが格納されているOracleFailoverEventArgsオブジェクトとともにトリガーされます。

クラスの継承

System.Object

  System.EventArgs

    Oracle.DataAccess.Client.OracleFailoverEventArgs

宣言

// C#
public sealed class OracleFailoverEventArgs

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

例(Oracle.DataAccess.Clientのみ)

// Transparent Application Failover (TAF) Setup
// Refer Oracle® Database Net Services Administrator's Guide
 
// C#
 
using System;
using System.Threading;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
 
class FailoverSample
{
  static void Main(string[] args)
  {
    string constr = "User Id=scott;Password=tiger;Data Source=oracle";
    OracleConnection con = new OracleConnection(constr);
    con.Open();
 
    // Register the event handler OnFailover
    con.Failover += new OracleFailoverEventHandler(OnFailover);
 
    Console.WriteLine("Wait for a failover for 5 seconds");
    Thread.Sleep(5000);
 
    con.Close();
    con.Dispose();
  }

  // TAF callback function 
  static FailoverReturnCode OnFailover(object sender, 
    OracleFailoverEventArgs eventArgs)
  {
    switch (eventArgs.FailoverEvent)
    {
      case FailoverEvent.Begin:
      {
        Console.WriteLine("FailoverEvent.Begin - Failover is starting");
        Console.WriteLine("FailoverType = " + eventArgs.FailoverType);
        break;
      }      
      case FailoverEvent.End:
      {
        Console.WriteLine("FailoverEvent.End - Failover was successful");
        break;
      }
      case FailoverEvent.Reauth:
      {
        Console.WriteLine("FailoverEvent.Reauth - User reauthenticated");
        break;
      }
      case FailoverEvent.Error:
      {
        Console.WriteLine("FailoverEvent.Error - Failover was unsuccessful");
 
        // Sleep for 3 sec and Retry
        Thread.Sleep(3000);
        return FailoverReturnCode.Retry;
      }
      case FailoverEvent.Abort:
      {
        Console.WriteLine("FailoverEvent.Abort - Failover was unsuccessful");
        break;
      }
      default:
      {
        Console.WriteLine("Invalid FailoverEvent : " + eventArgs.FailoverEvent);
        break;
      }
    }
    return FailoverReturnCode.Success;
  }
}

要件

ネームスペース: Oracle.DataAccess.Client

アセンブリ: Oracle.DataAccess.dll

ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4

コメント: .NETストアド・プロシージャではサポートされません


OracleFailoverEventArgsメンバー

OracleFailoverEventArgsメンバーは次の表にリストされています。

OracleFailoverEventArgs静的メソッド

OracleFailoverEventArgs静的メソッドを、表11-1にリストします。

表11-1 OracleFailoverEventArgs静的メソッド

メソッド 説明

Equals

System.Objectからの継承(オーバーロード)


OracleFailoverEventArgsプロパティ

OracleFailoverEventArgsプロパティを、表11-2にリストします。

表11-2 OracleFailoverEventArgsプロパティ

名前 説明

FailoverType

クライアントが要求したフェイルオーバーのタイプを指定します

FailoverEvent

フェイルオーバーの状態を示します


OracleFailoverEventArgsパブリック・メソッド

OracleFailoverEventArgsパブリック・メソッドを、表11-3にリストします。

表11-3 OracleFailoverEventArgsパブリック・メソッド

名前 説明

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承



OracleFailoverEventArgs静的メソッド

OracleFailoverEventArgs静的メソッドを、表11-1にリストします。

表11-4 OracleFailoverEventArgs静的メソッド

メソッド 説明

Equals

System.Objectからの継承(オーバーロード)



OracleFailoverEventArgsプロパティ

OracleFailoverEventArgsプロパティを、表11-5にリストします。

表11-5 OracleFailoverEventArgsプロパティ

名前 説明

FailoverType

クライアントが要求したフェイルオーバーのタイプを指定します

FailoverEvent

フェイルオーバーの状態を示します


FailoverType

このプロパティはフェイルオーバーの状態を示します。

宣言

// C#
public FailoverType FailoverType {get;} 

プロパティ値

FailoverTypeの列挙値

FailoverEvent

このプロパティはフェイルオーバーの状態を示します。

宣言

// C#
public FailoverEvent FailoverEvent {get;} 

プロパティ値

FailoverEventの列挙値


OracleFailoverEventArgsパブリック・メソッド

OracleFailoverEventArgsパブリック・メソッドを、表11-6にリストします。

表11-6 OracleFailoverEventArgsパブリック・メソッド

名前 説明

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承