Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


6.5.1 FREE CONNECTION HANDLEの形式と規則

〈この項の構成〉

(1) 機能

ALLOCATE CONNECTION HANDLEで割り当てた接続ハンドルを解放します。

(2) 形式

 FREE CONNECTION HANDLE :PDCNCTHDL型変数,
                  :リターンコード受け取り変数

(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) 共通規則

  1. FREE CONNECTION HANDLEは,DISCONNECT文の後に発行してください。

  2. 使用する埋込み変数は,埋込みSQL宣言節で宣言してください。

  3. 接続ハンドルの解放に失敗した場合,その障害コードをリターンコード受け取り変数に設定します。

(5) 留意事項

  1. 予約した接続ハンドルは,DISCONNECT文の発行時には解放されません。接続ハンドルを解放する場合は,FREE CONNECTION HANDLEを発行してください。

  2. 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.