遅延メソッドを使用してLOBデータを送信するには、典型的なパーセル モードCLIアプリケーションで次のタスクを実行する必要があります。
- 応答モード(resp_mode)を'M'に設定し、マルチパート標識応答モードを指定します。 その他の設定を指定した場合は、エラー条件が返されます。
- 通常はLOBデータを含んでいるフィールドに、4バイトの固有の整数トークンを入れます。
- LOBデータ型を参照するUSING句で、AS DEFERREDを指定する必要があります。
- DBCHCL(DBFIRQ)を使用してSQLリクエスト(通常は1つ以上のINSERT、UPDATE、またはSELECTを含む)を発行します。
- リクエストが完了したら、DBCHCL(DBFFET)を使用してサーバーからの応答を取得します。リクエストがサーバーに発行された後で、サーバーはElicitDataパーセルを使用してリクエストに応答します。 ElicitDataパーセルには、MultipartDataパーセルまたはMultipartIndicDataパーセルに入れられたLOBのトークンが含まれます。アプリケーションは、送信するLOBパラメータを示すトークンを含むElicitDataパーセルを受信します。
- アプリケーションは、MultipartDataパーセルに入る限りデータをいくらでも送信できます。
- DBCHCL(DBFCRQ)を発行し、continuation_codeを適切に設定して遅延LOBデータをサーバーに送信します。
- DBCHCL(DBFFET)を使用して、サーバーからのElicitDataReceivedパーセル応答を取得します。
- 送信するデータがなくなるまで、現在のLOBに対するElicitDataReceivedパーセルを受信するたびに、ステップ7以降を繰り返します。
- 別のトークンが入ったElicitDataパーセルを受信するたびに、ステップ6以降を繰り返します。 すべてのLOBが正常に処理されると、サーバーはSuccessパーセルで応答します。
- DBCHCL(DBFERQ)を発行してリクエストをクローズします。
上記に概説した手順全体は、トランザクションの存続期間にわたって1つのリクエスト番号を持つ1つの独立したリクエストを構成します。