4.5.4 dc_trn_unchained_commit_s − 非連鎖モードのコミット
- 〈この項の構成〉
(1) 形式
(a) _s付き関数の場合
#include <dcvtrn.h> DCLONG dc_trn_unchained_commit_s(DCCLT_ID cltid)
(b) _s無し関数の場合
#include <dcvtrn.h> DCLONG dc_trn_unchained_commit()
(2) 機能
トランザクションの同期点を取得します。
dc_trn_unchained_commit_s関数が正常に終了すると,グローバルトランザクションは終了します。グローバルトランザクションの範囲外からは,SPPをトランザクションとして実行できません。
(3) UAPで値を設定する引数
-
cltid
dc_clt_cltin_s関数で受け取ったクライアントIDを指定します。
(4) リターン値
リターン値 |
数値 (10進数) |
意味 |
---|---|---|
DC_OK |
0 |
正常終了しました。 |
DCCLTER_PROTO |
-2502 |
誤ったコンテクスト(例 トランザクションの範囲外)から関数を実行しています。 |
DCCLTER_NO_BUFS |
-2504 |
メモリ不足が発生しました。 |
DCCLTER_NET_DOWN |
-2506 |
ネットワーク障害が発生しました。 |
DCCLTER_TIMED_OUT |
-2507 |
dc_trn_unchained_commit_s関数の処理時間で時間切れ(タイムアウト)が発生しました。 |
DCCLTER_OLTF_NOT_UP |
-2515 |
OpenTP1が起動されていません。または,サーバとのコネクションが切断されているため,通信できません。 |
DCCLTER_NO_BUFS_AT_SERVER |
-2517 |
トランザクションプロセス内でメモリ不足が発生しました。 |
DCCLTER_SYSERR |
-2518 |
システムエラーが発生しました。 |
DCCLTER_CONNFREE |
-2542 |
常設コネクションが解放されました。 |
DCCLTER_INVALID_CLTID |
-2544 |
cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。 |
DCTRNER_ROLLBACK |
-3402 |
コミットに失敗したため,トランザクションをロールバックしました。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。 |
DCTRNER_HEURISTIC |
-3403 |
ヒューリスティック決定によって,一部,またはすべてのトランザクションブランチがロールバックされました。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。 |
DCTRNER_HAZARD |
-3404 |
ヒューリスティック決定でトランザクションが完了しましたが,障害のため結果がわかりません。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。 |
(5) 注意事項
CUPのプロセスを正常に終了させるときは,dc_trn_unchained_commit_s関数を実行してトランザクションをコミットしてください。