The OracleFailoverEventArgs
class provides event data for the OracleConnection.Failover
event. When database failover occurs, the OracleConnection.Failover
event is triggered along with the OracleFailoverEventArgs
object that stores the event data.
System.Object
System.EventArgs
Oracle.DataAccess.Client.OracleFailoverEventArgs
// C# public sealed class OracleFailoverEventArgs
Provider | ODP.NET, Unmanaged Driver |
Assembly | Oracle.DataAccess.dll |
Namespace | Oracle.DataAccess.Client |
.NET Framework | 3.5, 4.0, 4.5 |
Not supported in a .NET stored procedure
All public static methods are thread-safe, although instance methods do not guarantee thread safety.
Example (Oracle.DataAccess.Client only)
// 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; } }
See Also:
OracleFailoverEventArgs
members are listed in the following tables.
OracleFailoverEventArgs Static Methods
The OracleFailoverEventArgs
static methods are listed in Table 11-1.
Table 11-1 OracleFailoverEventArgs Static Methods
Methods | Description |
---|---|
|
Inherited from |
OracleFailoverEventArgs Properties
The OracleFailoverEventArgs
properties are listed in Table 11-2.
Table 11-2 OracleFailoverEventArgs Properties
Name | Description |
---|---|
Specifies the type of failover the client has requested |
|
Indicates the state of the failover |
OracleFailoverEventArgs Public Methods
The OracleFailoverEventArgs
public methods are listed in Table 11-3.
The OracleFailoverEventArgs
static methods are listed in Table 11-1.
The OracleFailoverEventArgs
properties are listed in Table 11-5.
Table 11-5 OracleFailoverEventArgs Properties
Name | Description |
---|---|
Specifies the type of failover the client has requested |
|
Indicates the state of the failover |
See Also:
This property indicates the state of the failover.
// C# public FailoverType FailoverType {get;}
A FailoverType
enumeration value.
The OracleFailoverEventArgs
public methods are listed in Table 11-6.