Hitachi

Hitachi Advanced Data Binder AP開発ガイド


18.2.1 HADBサーバへの接続および切り離しをする場合

ここでは,CLI関数を使用したHADBサーバへの接続,およびHADBサーバからの切り離しについて説明します。

HADBサーバへの接続から切り離しまでの処理の流れを次の図に示します。

図18‒4 HADBサーバへの接続から切り離しまでの処理の流れ

[図データ]

注※

SQL文を使ったデータ操作については,「18.2.2 データを参照する場合」以降で説明します。

〈この項の構成〉

(1) HADBサーバへの接続

HADBサーバに接続する場合は,次に示すCLI関数を使用します。

(a) コネクションハンドルの割り当て

コネクションを確立する前に,コネクションハンドルの割り当てが必要になります。コネクションハンドルを割り当てるにはa_rdb_SQLAllocConnect()を使用します。コネクションハンドルの割り当てが成功すると,戻り値としてa_rdb_RC_SQL_SUCCESSが返されます。a_rdb_SQLAllocConnect()の呼び出し例を次に示します。

a_rdb_SQLAllocConnect()の呼び出し例
signed short rtnc ;                 /* 戻り値 */
void  *hCnct ;                      /* コネクションハンドルアドレス */
 
/* コネクションハンドルの割り当て */
rtnc = a_rdb_SQLAllocConnect(&hCnct,
                        "/hadb/client.def",   /* クライアント定義ファイルパス */
                        NULL) ;

a_rdb_SQLAllocConnect()の第2引数にクライアント定義ファイルの絶対パスを指定することで,コネクションごとに異なるクライアント定義を使用できます。クライアント定義については,「4.4 クライアント定義の作成」を参照してください。

a_rdb_SQLAllocConnect()については,「19.2.1 a_rdb_SQLAllocConnect()(コネクションハンドルの割り当て)」を参照してください。

(b) コネクションの確立

コネクションを確立するには,a_rdb_SQLConnect()を使用します。コネクションが確立されると,戻り値としてa_rdb_RC_SQL_SUCCESSが返されます。

a_rdb_SQLConnect()の呼び出し例を次に示します。

a_rdb_SQLConnect()の呼び出し例
a_rdb_SQLResultInfo_t  rsltInfo ;          /* SQL結果情報 */
 
/* コネクションの確立 */
rtnc = a_rdb_SQLConnect(hCnct,             /* コネクションハンドル */
                      "ADBUSER01",         /* 認可識別子 */
                      "password01",        /* パスワード */
                      &rsltInfo,
                      NULL) ;

SQL結果情報のアドレスをa_rdb_SQLConnect()の第4引数に指定することで,CLI関数の呼び出し単位で各種結果を返却するSQL結果情報を取得できます。SQL結果情報については,「19.7.6 a_rdb_SQLResultInfo_t構造体(SQL結果情報)」を参照してください。

a_rdb_SQLConnect()については,「19.2.2 a_rdb_SQLConnect()(コネクションの確立)」を参照してください。

(2) HADBサーバからの切り離し

HADBサーバからの切り離しを行う場合は,次に示すCLI関数を使用します。

(a) コネクションの終了

コネクションを終了するには,a_rdb_SQLDisconnect()を使用します。a_rdb_SQLDisconnect()の呼び出し例を次に示します。

a_rdb_SQLDisconnect()の呼び出し例
/* コネクションの終了 */
rtnc = a_rdb_SQLDisconnect(hCnct, NULL) ;

a_rdb_SQLDisconnect()については,「19.2.4 a_rdb_SQLDisconnect()(コネクションの終了)」を参照してください。

(b) コネクションハンドルの解放

コネクションを終了したあとに,コネクションハンドルを解放してください。コネクションハンドルを解放するには,a_rdb_SQLFreeConnect()を使用します。a_rdb_SQLFreeConnect()の呼び出し例を次に示します。

a_rdb_SQLFreeConnect()の呼び出し例
/* コネクションハンドルの解放 */
rtnc = a_rdb_SQLFreeConnect(hCnct, NULL) ;

a_rdb_SQLFreeConnect()については,「19.2.5 a_rdb_SQLFreeConnect()(コネクションハンドルの解放)」を参照してください。