DB2 10.5 for Linux, UNIX, and Windows
RetryOnMERGE CLI/ODBC 構成キーワード
アプリケーションが DB2® for Linux, UNIX, and Windows、DB2 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 Windows、DB2 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 ドライバーが、アプリケーション・データを保管するために必要な内部バッファーを割り振りできない場合。