QueryTimeoutInterval CLI/ODBC 構成キーワード

照会タイムアウトのチェック間隔 (秒単位) を指定します。

db2cli.ini キーワード構文:
QueryTimeout間隔 = 0 | 1 | 5 | positive integer
デフォルト設定:
1 秒
使用上の注意:
 

アプリケーションは SQLSetStmtAttr() 関数を使用して、 SQL_ATTR_QUERY_TIMEOUT ステートメント属性 または、 db2dsdriver.cfg ファイルに QueryTimeout キーワードを設定します。を設定できます。 この属性により、実行の取り消しが試行されてアプリケーションに戻るまでの、 SQL ステートメントまたは XQuery 式の実行完了待ちの秒数が示されます。

QueryTimeoutInterval 構成キーワードは、照会が完了したかどうかを確認するために CLI ドライバーが待機する時間を示すために使用されます。

QueryTimeoutInterval キーワード値を設定すると、 QueryTimeout キーワード設定の実装に悪影響を及ぼす可能性があります。この場合、アプリケーションは次の QueryTimeoutInterval が経過するまで QueryTimeout イベントを検出しない可能性があります。

例えば、 SQL_ATTR_QUERY_TIMEOUT ステートメント属性が 25 秒 (25 秒待機してからタイムアウトになる) に設定され、 QueryTimeoutInterval キーワードが 10 秒 (10 秒ごとに照会を検査する) に設定されているとします。 照会は、30 秒経たないと (25 秒の制限後の最初のチェック) タイムアウトになりません。 CLI は、実行中の各照会の状況を定期的に照会するスレッドを開始することによって、照会タイムアウトを実装します。 QueryTimeoutInterval の値は、時間切れの照会がないかを照会タイムアウト・スレッドでチェックする間隔を指定するものです。 時間切れの照会がないかをチェックする操作は、実行される照会とは非同期で行われるため、SQL_ATTR_QUERY_TIMEOUT + QueryTimeoutInterval 秒が経過しないと照会がタイムアウトにならないことがあります。 この例で、最良の場合のタイムアウトは 26 秒であり、最も悪い場合のタイムアウトは 35 秒です。

SQL_ATTR_QUERY_TIMEOUT が低すぎる値に設定されていて、照会が一貫してタイムアウトになっている場合があります。 アプリケーションを変更できない場合は、 QueryTimeoutInterval0に設定できます。 QueryTimeoutInterval0に設定されている場合、 CLI ドライバーは、実行中の各照会の状況を定期的に照会するために別個のスレッドを開始しないため、アプリケーションに戻る前に SQL ステートメントの実行が完了するのを待機します。

SQL_ATTR_QUERY_TIMEOUT が低すぎる値に設定されていて、照会が一貫してタイムアウトになっている場合があります。 アプリケーションを変更できない場合は、 QueryTimeoutInterval0に設定できます。 QueryTimeoutInterval0に設定されている場合、 CLI ドライバーは、実行中の各照会の状況を定期的に照会するために別個のスレッドを開始しないため、アプリケーションに戻る前に SQL ステートメントの実行が完了するのを待機します。

QueryTimeoutInterval キーワードが 0 に設定されている場合、アプリケーションが SQL_ATTR_QUERY_TIMEOUT ステートメント属性を設定しようとすると、SQLSTATE 01S02 (オプション値が変更されます) になります。

このオプションは、 db2cli.ini ファイルの COMMON セクションでのみ有効であるため、 Db2® データベースへのすべての接続に適用されます。

重要:
  • .NET Framework は、 db2cli.ini ファイルの設定をサポートしていません。
  • この CLI キーワードは、 CLI API 呼び出しを使用するストアード・プロシージャーまたはルーチンの内部で使用された場合は無視されます。
  • QueryTimeoutInterval キーワードは、LOAD ユーティリティーに割り込むこともできます。このユーティリティーは、 SQL0952Nの代わりに SQL3005N を返します。