DB2 10.5 for Linux, UNIX, and Windows

RetryOnMERGE IBM Data Server Driver 構成キーワード

アプリケーションが DB2® for Linux, UNIX, and Windows サーバー、DB2 for i サーバー、または DB2 for z/OS® サーバーに接続されている場合に、MERGE ステートメントに対して実行できる再試行の回数を指定します。 DB2 for i サーバーへの接続では、RetryOnMERGE キーワードは DB2 for i V7R1 以降のリリースでサポートされます。
同等の CLI キーワード
RetryOnMERGE
同等の IBM® Data Server Provider for .NET 接続ストリング・キーワード
なし
IBM データ・サーバー・ドライバー構成ファイル (db2dsdriver.cfg) 構文
<parameter name="RetryOnMERGE" value="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 サーバーへの接続時に配列入力チェーニング・フィーチャーを有効にすることができます。 DB2 for Linux, UNIX, and Windows または DB2 for i サーバーへの接続時に配列入力チェーニング・フィーチャーを有効にするには、ArrayInputChain キーワードを SQL_ATTR_CHAINING_BEGIN および SQL_ATTR_CHAINING_END ステートメント属性と共に使用します。

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 ドライバーが、アプリケーション・データを保管するために必要な内部バッファーを割り振ることができない場合。