ServiceRelocationConnectionTimeout

このプロパティは、特定のOracleConnectionが、使用不可になったサービスへの接続を再試行するまで待機する時間を秒単位で指定します。

宣言

// C#
public string ServiceRelocationConnectionTimeout { get; set;}

プロパティ・タイプ

System.String

例外

System.ObjectDisposedException - OracleConnectionオブジェクトがすでに破棄されている場合は、このプロパティにアクセスできません。

FormatException - 指定された文字列をSystem.Int32に変換できません。

OverflowException - 指定された文字列は、System.Int32.MinValue未満またはSystem.Int32.MaxValueより大きい数値を表しています。

備考

デフォルト値は90 (秒)です。

サービスが再配置されているためなどデータベース・サービスが使用できなくなるたびに、この時間、アプリケーションでは数多くの接続エラーが発生します。エラーを引き起こす、使用できないサービスに対する不要な接続の試行を回避するために、ドライバは、サービスのDOWNイベントを受信した時点から、サービスが起動されるまで、またはこのプロパティで指定された時間制限が切れるまでのいずれか早いほうの時点まで、あらゆる接続の試行をブロックします。

ServiceRelocationConnectionTimeout自体、drain_timeoutの値に基づいて設定されます。たとえば、ODP.NET管理者が、サービス再配置接続タイムアウトをdrain_timeout50秒を加えた値にする場合は、ServiceRelocationConnectionTimeoutを次のように設定します。

//C#
OracleConnection conn = new OracleConnection();
conn.ServiceRelocationConnectionTimeout = "drain_timeout + 50";

ServiceRelocationConnectionTimeoutプロパティは、OracleConnectionおよびOracleConfigurationオブジェクトで構成できます。デフォルトでは、OracleConnection ServiceRelocationConnectionTimeoutプロパティ値は構成時にOracleConfiguration ServiceRelocationConnectionTimeoutプロパティ値を継承します。OracleConnection ServiceRelocationConnectionTimeoutの値は接続時に使用されます。