6.5.1 FREE CONNECTION HANDLEの形式と規則
(3) オペランド
(a) :PDCNCTHDL型変数
ALLOCATE CONNECTION HANDLEで指定したPDCNCTHDL型変数を指定します。
(b) :リターンコード受け取り変数
ALLOCATE CONNECTION HANDLEで指定したリターンコード受け取り変数を指定します。
リターンコード受け取り変数に返される値を次に示します。
- C言語の場合
-
- 正常に割り当てられた場合:
-
p_rdb_RC_NORM
- 接続ハンドルの値が不正な場合:
-
p_rdb_RC_ERRPARM
- 接続ハンドルが現在使用中の場合:
-
p_rdb_RC_SIMERR
これらの値は,pdberrno.hに定義しています。
- COBOL言語の場合
-
- 正常に割り当てられた場合:
-
P-RDB-RC-NORM
- 接続ハンドルの値が不正な場合:
-
P-RDB-RC-ERRPARM
- 接続ハンドルが現在使用中の場合:
-
P-RDB-RC-SIMERR
これらの値は,SQLCAMTH.CBLに定義しています。
(4) 共通規則
-
FREE CONNECTION HANDLEは,DISCONNECT文の後に発行してください。
-
使用する埋込み変数は,埋込みSQL宣言節で宣言してください。
-
接続ハンドルの解放に失敗した場合,その障害コードをリターンコード受け取り変数に設定します。
(5) 留意事項
-
予約した接続ハンドルは,DISCONNECT文の発行時には解放されません。接続ハンドルを解放する場合は,FREE CONNECTION HANDLEを発行してください。
-
OLTP下のX/Openに従ったUAPでは,GET CONNECTION HANDLEで取得した接続ハンドルはOLTPが解放します。このため,FREE CONNECTION HANDLEを発行して,接続ハンドルを解放しないでください。FREE CONNECTION HANDLEを発行して接続ハンドルを解放した場合,その後UAPが不正な動作をして,異常終了するおそれがあります。
(6) 使用例
ALLOCATE CONNECTION HANDLEの例で割り当てた接続ハンドルを解放します。
(C言語の場合)
EXEC SQL BEGIN DECLARE SECTION; PDCNCTHDL CnctHdl; long FrchdlRtn; EXEC SQL END DECLARE SECTION; EXEC SQL FREE CONNECTION HANDLE :CnctHdl, :FrchdlRtn;
(COBOL言語の場合)
DATA DIVISION. WORKING-STORAGE SECTION. EXEC SQL BEGIN DECLARE SECTION END-EXEC. 01 CNCTHDL SQL TYPE IS PDCNCTHDL. 01 FRCHDLRTN PIC S9(9) COMP. EXEC SQL END DECLARE SECTION END-EXEC. : PROCEDURE DIVISION. : EXEC SQL FREE CONNECTION HANDLE :CNCTHDL, :FRCHDLRTN; END-EXEC.