DB2 10.5 for Linux, UNIX, and Windows

RetryOnMERGE CLI/ODBC 構成キーワード

アプリケーションが DB2® for Linux, UNIX, and WindowsDB2 for i、または DB2 for z/OS® サーバーに接続しているときに MERGE ステートメントに対して行える再試行の回数を指定します。 DB2 for i サーバーへの接続については、DB2 for i V7R1 以降のリリースでは RetryOnMERGE キーワードがサポートされています。
db2cli.ini キーワード構文:
RetryOnMERGE = 0 | 1 | 2 | 3 | 4 | 5 | 6
デフォルト設定:
0
同等の接続属性:
SQL_ATTR_RETRY_ON_MERGE
使用上の注意:
CLI ドライバーは、RetryOnMERGE キーワードを使用して、配列入力チェーニングが有効であったために失敗した MERGE ステートメントを再試行できます。 このような状態は、2 つの MERGE ステートメントが同じ検索条件で同時に同じターゲット・オブジェクトに影響を与えたことにより、MERGE ステートメントの一方が成功し、もう一方が失敗した場合に発生します。DB2 for Linux, UNIX, and WindowsDB2 for i、または DB2 for z/OS サーバーへの接続に対して、配列入力チェーニング・フィーチャーを有効にすることができます。 ColumnwiseMRI キーワードまたは SQL_ATTR_COLUMNWISE_MRI 属性を使用して、DB2 for z/OS サーバーへの接続時に配列入力チェーニング・フィーチャーを有効にすることができます。 SQL_ATTR_CHAINING_BEGIN および SQL_ATTR_CHAINING_END ステートメント属性を指定した ArrayInputChain キーワードを使用して、DB2 for Linux, UNIX, and Windows または DB2 for i サーバーへの接続時に配列入力チェーニング・フィーチャーを有効にします。

CLI ドライバーは、SQLBindParameter() または SQLExtendedBind() 関数を使用したときに指定したパラメーターごとに 100 個の要素で構成される配列バッファーを割り振ります。 サーバー上のリソース競合問題が原因でエラーが発生すると、CLI ドライバーは失敗した行の配列を構成し、ステートメントを RetryOnMERGE キーワードで設定された反復の回数再実行します。

0
デフォルト値。再試行は行われません。
1 から 6
実行可能な再試行の回数。最大再試行回数は 6 回です。
以下の条件下では、RetryOnMERGE キーワードを設定しても効果がありません。
  • MERGE 操作にパラメーターとして以下のいずれかのデータ・タイプがバインドされている場合。
    • SQL_CLOB
    • SQL_BLOB
    • SQL_LONGVARBINARY
    • SQL_LONGVARGRAPHIC
    • SQL_DBCLOB
    • SQL_XML
  • パラメーターが SQLPutData() および SQLParamData() 関数の呼び出しを必要とする MERGE 操作の SQL_DATA_AT_EXEC 引数にバインドされている場合。
  • MERGE 操作に以下のいずれかのステートメント属性が指定されている場合。
    • SQL_ATTR_INTERLEAVED_PUTDATA
    • SQL_ATTR_INTERLEAVED_STREAM_PUTDATA
    • SQL_ATTR_USE_LOAD_API
  • MERGE 操作に配列パラメーターが指定されている場合。
  • DB2 for Linux, UNIX, and Windows サーバーへの接続で SQL_ATTR_INSERT_BUFFERING ステートメント属性が有効になっている場合。
  • CLI ドライバーが、アプリケーション・データを保管するために必要な内部バッファーを割り振りできない場合。