Hitachi

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


18.1.1 SQLJとは

SQLJとは,Javaで静的SQLを埋込み型SQLとして記述,及び実行するための言語仕様です。

SQLJを使用したUAP開発の流れを次の図に示します。

図18‒1 SQLJを使用したUAP開発の流れ

[図データ]

SQLJは,SQLJトランスレータとSQLJランタイムライブラリから構成されます。

SQLJトランスレータ:

SQLJソースプログラムを解析して,SQL文をSQLJランタイムを通じてデータベースにアクセスする標準的なJavaの命令に置き換えます。

SQLJトランスレータは,Javaソースファイルと,SQLの情報を格納したプロファイルを生成します。ユーザは,JavaソースファイルをJavaコンパイラでコンパイルしてclassファイル(実行ファイル)を作成します。

SQLJランタイムライブラリ:

コンパイルされたclassファイルを実行するときに使用します。

SQLJランタイムライブラリには,アクセスするインタフェースによって次のどちらかの使用方法があります。

  • JDBCインタフェースのAPIを呼び出してSQLを実行する(スタンダードインタフェース版)。

  • JDBCインタフェースを使用しないで,独自のインタフェースを呼び出してSQLを実行する(ネイティブインタフェース版)。

SQLJを使用したUAPの実行を次の図に示します。

図18‒2 SQLJを使用したUAPの実行

[図データ]

[説明]
  • JavaコンパイラでコンパイルしたSQLJソースのclassファイルは,SQLJランタイムライブラリを通じてデータベースをアクセスします。

  • ネイティブインタフェースを使用する場合は,SQLJランタイムライブラリはJDBCを呼び出さないで,HiRDBクライアントライブラリを直接呼び出します。このとき,JDBCのAPIを直接呼び出して,接続や結果セットをJDBCと共有するコーディングはできません。

  • SQLJランタイムライブラリは,実行時にプロファイルを読み込みます。そのため,classファイルとプロファイルは同じディレクトリに格納する必要があります。また,classファイルをjarファイルに格納する場合も,プロファイルを併せてjarファイルに格納する必要があります。