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
静的メソッドのリストを、表10-1に示します。
OracleFailoverEventArgsプロパティ
OracleFailoverEventArgs
プロパティのリストを、表10-2に示します。
OracleFailoverEventArgsパブリック・メソッド
OracleFailoverEventArgs
パブリック・メソッドのリストを、表10-3に示します。
表10-3 OracleFailoverEventArgsパブリック・メソッド
名前 | 説明 |
---|---|
|
|
|
|
|
|
|
|
OracleFailoverEventArgs
静的メソッドのリストを、表10-4に示します。
OracleFailoverEventArgs
プロパティのリストを、表10-5に示します。
このプロパティはフェイルオーバーの状態を示します。
宣言
// C# public FailoverType FailoverType {get;}
プロパティ値
FailoverType
の列挙値
このプロパティはフェイルオーバーの状態を示します。
宣言
// C# public FailoverEvent FailoverEvent {get;}
プロパティ値
FailoverEvent
の列挙値
OracleFailoverEventArgs
パブリック・メソッドのリストを、表10-6に示します。