ヘッダーをスキップ
Oracle Data Provider for .NET開発者ガイド
11g リリース1(11.1)
E05791-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

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

Microsoft .NET Frameworkバージョン: 1.xまたは2.0

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


OracleFailoverEventArgsメンバー

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

OracleFailoverEventArgs静的メソッド

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

表10-1 OracleFailoverEventArgs静的メソッド

メソッド 説明

Equals

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


OracleFailoverEventArgsプロパティ

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

表10-2 OracleFailoverEventArgsプロパティ

名前 説明

FailoverType

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

FailoverEvent

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


OracleFailoverEventArgsパブリック・メソッド

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

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

名前 説明

Equals

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

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承



OracleFailoverEventArgs静的メソッド

OracleFailoverEventArgs静的メソッドのリストを、表10-4に示します。

表10-4 OracleFailoverEventArgs静的メソッド

メソッド 説明

Equals

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



OracleFailoverEventArgsプロパティ

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

表10-5 OracleFailoverEventArgsプロパティ

名前 説明

FailoverType

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

FailoverEvent

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


FailoverType

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

宣言

// C#
public FailoverType FailoverType {get;}

プロパティ値

FailoverTypeの列挙値

FailoverEvent

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

宣言

// C#
public FailoverEvent FailoverEvent {get;}

プロパティ値

FailoverEventの列挙値


OracleFailoverEventArgsパブリック・メソッド

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

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

名前 説明

Equals

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

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承