Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


4.10.4 規則

  1. 複数接続機能を使用する場合,専用のライブラリをリンクする必要があります。詳細については,「複数接続機能を使用する場合のコンパイルとリンケージ」を参照してください。

  2. 複数接続機能用ライブラリを使用するUAPでは,一つの接続を保持したままスレッドを分岐し,そのスレッドがSQLを実行する場合,ほかのSQLを発行するスレッドとの間で処理のシリアライズを必要とします。したがって,同一接続に対するSQLは同時に発行できません。異なる接続に対するSQLは同時に発行できます。

  3. ALLOCATE CONNECTION HANDLE,FREE CONNECTION HANDLEのエラー情報を参照する場合,SQLCODE,SQLERRMではなく,リターンコード受け取り変数の値を参照してください。リターンコード受け取り変数については,マニュアル「HiRDB SQLリファレンス」を参照してください。

  4. SQL連絡領域を参照する場合,DECLARE CONNECTION HANDLE SET文で参照するSQL連絡領域に対応した接続ハンドルを宣言しておく必要があります。

  5. COBOL言語の場合,複数接続機能を使用するSQL文を含むUAPで,DECLARE CONNECTION HANDLE SETの記述前(有効範囲外)に接続ハンドルの割り当て,取得以外のSQL文を記述できません。

  6. COBOL言語の場合,DECLARE CONNECTION HANDLE UNSETは使用できません。

  7. 複数接続機能は,マルチスレッド(DCEスレッド,リアルスレッド),及びシングルスレッド対応のUAPで使用できます。マルチスレッド対応のUAPで複数接続機能を使用する場合,HiRDBでのUAPの開発知識のほかに,DCEスレッド,リアルスレッドを用いたUAPの開発知識を必要とします。

  8. Windows版での複数接続機能は,X/Open XAインタフェースを使用しない場合,マルチスレッド対応UAPでだけ使用できます。したがって,Visual Studioを用いたUAPのコンパイルで使用する,Cのランタイムライブラリの指定は,マルチスレッド・DLLを選択してください(「コンパイルオプション:コード生成」で,「マルチスレッド・DLL」を指定します)。

  9. Windows版での複数接続機能は,X/Open XAインタフェースを使用する場合,シングルスレッド対応UAPでも使用できます。なお,シングルスレッド対応UAPの場合でも,Visual Studioを用いたUAPのコンパイルで使用する,Cのランタイムライブラリの指定は,マルチスレッド・DLLを選択してください(「コンパイルオプション:コード生成」で,「マルチスレッド・DLL」を指定します)。

  10. C,及びC++言語でSQL連絡領域を参照する場合,直接SQLCAの構造体を参照しないで,SQLで始まるマクロ名を使用して参照してください。使用するマクロ名については「C言語の場合」を参照してください。