LOB要求のアボート: 例 - Call-Level Interface Version 2

Teradata® Call-Level Interfaceバージョン2リファレンス - ワークステーション接続システム

Product
Call-Level Interface Version 2
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ttt1608578409164.ditamap
dita:ditavalPath
ja-JP/ttt1608578409164.ditaval
dita:id
B035-2418
Product Category
Teradata Tools and Utilities

アプリケーションで、クライアントからサーバーへのLOBデータ転送の遅延をアボートし、UDF要求を作成できます。例として、セッションが作成され、遅延モードでのLOBデータの転送要求が開始された場合を考えてみます。アプリケーションで要求をアボートする場合には、DBCAREAフィールドのcontinuation_codeを'C'に設定します。次に、DBCAREAの関数コードをDBFCRQに設定して、DBCHCLを呼び出します。

DBCHCL

DBCHCLは、要求バッファを割り当て、要求バッファのメッセージ本体の部分にPclUCABORTパーセルを置きます。 DBCHCLは、セッションIdと要求IdをMTDPCBに置き、関数コードをMTDPABOTに設定して、MTDPを呼び出します。

MTDP

MTDPは、Abort Requestメッセージを用意してデータベースに送り、Abort Responseメッセージを待ちます。 MTDPは、そのあとで制御をDBCHCLに返します。

DBCHCL

MTDP制御ブロック内の戻りコードが正常でなければ、DBCHCLは、DBCAREAが指しているエラー メッセージをアプリケーションに返します。 戻りコードが正常であれば、その要求に割り当てられたバッファが空きメモリに返されて、RCBがRCBリストから削除されて空きメモリに返されます。

DBCAREAの戻りコードまたはエラー フラグが正常でなければ、アプリケーションで、DBCAREAを適切に変更してDBCHCLに再び送ります。