CommandTimeout
このプロパティは、特定のOracleConnection
オブジェクトで例外が発生して終了するまでコマンドの実行が許可される最小秒数を指定します。
宣言
// C# public int CommandTimeout { get; set;}
プロパティ・タイプ
System.Int32
例外
InvalidArgument
- 指定された値が0
未満であるか、System.Int32.MaxValue
を超えています。
System.ObjectDisposedException
- OracleConnection
オブジェクトがすでに破棄されている場合は、このプロパティにアクセスできません。
備考
デフォルトは0
(秒)で、時間の制限は適用されません。
コマンドの実行が終了する前に、指定したタイムアウト値を超えると、ODP.NETはコマンドの取消しプロセスを開始します。正しく取り消された場合は、「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」というメッセージの例外がスローされます。コマンドのタイムアウトの期限切れが発生した後にスローされる可能性があるその他の例外には、ORA-00936およびORA-00604があります。コマンドが時間内にエラーなしで実行された場合、例外はスローされません。
ODP.NETでは、タイムアウト値に達した正確なタイミングでコマンドが取り消される保証はありません。タイムアウト値は、取消しプロセスが開始するまでにコマンドが完了できる最小時間です。タイムアウト値が期限切れになった後でコマンドが完了する可能性があります。
複数のOracleCommand
オブジェクトで同じ接続を使用している場合、いずれかのOracleCommand
オブジェクトでタイムアウトが発生すると、その単一接続上の他の実行が終了する可能性があります。OracleCommand
のCommandTimeout
プロパティの値が0
より大きく設定されている場合、OracleCommand
のタイムアウトの際に、該当するコマンド実行のみが取り消されるようにするには、各接続でOracleCommand
を1つのみ使用するようにします。
CommandTimeout
プロパティは、OracleCommand
、OracleConnection
およびOracleConfiguration
オブジェクトで構成できます。デフォルトでは、OracleConnection
CommandTimeout
プロパティ値は構成時にOracleConfiguration
CommandTimeout
プロパティ値を継承し、OracleCommand
CommandTimeout
プロパティ値は構成時にOracleConnection
CommandTimeout
プロパティ値を継承します。OracleCommand
CommandTimeout
の値は、コマンドの実行時に使用されます。