6.2.4.7 CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な最小秒数を指定します。

宣言

// C#
public override int CommandTimeout {get; set;}

プロパティ値

int

実装

IDbCommand.CommandTimeout

例外

InvalidArgument - 指定された値が0未満です。

備考

デフォルトは0秒で、時間の制限はありません。

コマンドの実行が終了する前に、指定したタイムアウト値を超えると、ODP.NETはコマンドの取消しプロセスを開始します。正しく取り消された場合は、ORA-01013: ユーザーによって現行の操作の取消しがリクエストされましたというメッセージの例外がスローされます。コマンドのタイムアウトの期限切れが発生した後にスローされる可能性があるその他の例外には、ORA-00936およびORA-00604が含まれます。コマンドが時間内にエラーなしで実行された場合、例外はスローされません。

ODP.NETでは、タイムアウト値に達した正確なタイミングでコマンドが取り消される保証はありません。タイムアウト値は、取消しプロセスが開始するまでにコマンドが完了できる最小時間です。タイムアウト値が期限切れになった後でコマンドが完了する可能性があります。

複数のOracleCommandオブジェクトで同じ接続を使用している場合、いずれかのOracleCommandオブジェクトでタイムアウトが発生すると、その単一接続上の他の実行が終了する可能性があります。OracleCommandCommandTimeoutプロパティの値が0より大きく設定されている場合、OracleCommandのタイムアウトの際に、該当するコマンド実行のみが取り消されるようにするには、各接続でOracleCommandを1つのみ使用するようにします。