OracleFailoverEventArgs
クラスは、OracleConnection.Failover
イベントのイベント・データを提供します。データベースのフェイルオーバーが発生すると、OracleConnection.Failover
イベントが、イベント・データが格納されているOracleFailoverEventArgs
オブジェクトとともにトリガーされます。
クラスの継承
System.Object
System.EventArgs
Oracle.DataAccess.Client.OracleFailoverEventArgs
宣言
// C# public sealed class OracleFailoverEventArgs
要件
プロバイダ | ODP.NET管理対象外ドライバ |
アセンブリ | Oracle.DataAccess.dll |
ネームスペース | Oracle.DataAccess.Client |
.NET Framework | 3.5, 4.0, 4.5 |
.NETストアド・プロシージャではサポートされません
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例(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; } }
OracleFailoverEventArgs
メンバーは次の表にリストされています。
OracleFailoverEventArgs静的メソッド
OracleFailoverEventArgs
静的メソッドを、表11-1にリストします。
OracleFailoverEventArgsプロパティ
OracleFailoverEventArgs
プロパティを、表11-2にリストします。
OracleFailoverEventArgsパブリック・メソッド
OracleFailoverEventArgs
パブリック・メソッドを、表11-3にリストします。
OracleFailoverEventArgs
プロパティを、表11-5にリストします。
このプロパティはフェイルオーバーの状態を示します。
宣言
// C# public FailoverType FailoverType {get;}
プロパティ値
FailoverType
の列挙値
OracleFailoverEventArgs
パブリック・メソッドを、表11-6にリストします。