sqlj - SQLJ 変換プログラム

sqlj コマンドは SQLJ ソース・ファイルを Java ソース・ファイルおよび 0 個以上の SQLJ シリアライズド・プロファイルに変換します。 デフォルトでは、sqlj コマンドは Java ソース・ファイルのコンパイルも行います。

許可

なし

コマンド構文

Read syntax diagramSkip visual syntax diagramsqlj-help-dir= directory-d= directory-props= properties-file-compile=true-compile=false-linemap=NO-linemap=YES-smap=NO-smap=YES-encoding= encoding-db2optimize-ser2class-status-version-C-help-C compiler-option-J JVM-option SQLJ-source-file-name

コマンド・パラメーター

-help
変換プログラムがサポートする各オプションが、SQLJ 変換プログラムによって説明されることを指定します。 -help と共に他のオプションが指定されても、それらは無視されます。
-dir=directory
SQLJ が変換プログラムによって生成される .java ファイル、およびコンパイラーによって生成される .class ファイルを入れるディレクトリーの名前を指定します。 デフォルトは、SQLJ ソース・ファイルが入っているディレクトリーです。
変換プログラムは、生成ファイルをディレクトリーに配置するときに、SQLJ ソース・ファイルのディレクトリー構造を使用します。 例えば、変換プログラムが次の 2 つのファイルを処理するとします。
  • file1.sqlj、これはJavaパッケージに含まれていません
  • file2.sqlj、これはJavaパッケージに含まれています。 sqlj.test
また、変換プログラムを呼び出すときにパラメーター -dir=/src を指定するとします。 翻訳者は、 file1.sqlj 用のJavaソースファイルをディレクトリ/srcに、 file2.sqlj 用のJavaソースファイルをディレクトリ/src/sqlj/testに配置します。
-d=directory
SQLJ が変換プログラムおよびコンパイラーによって生成されるバイナリー・ファイルを入れるディレクトリーの名前を指定します。 これらのファイルには、.ser ファイル、name_SJProfileKeys.class ファイル、およびコンパイラーによって生成される .class ファイルが含まれます。

デフォルトは、SQLJ ソース・ファイルが入っているディレクトリーです。

変換プログラムは、生成ファイルをディレクトリーに配置するときに、SQLJ ソース・ファイルのディレクトリー構造を使用します。 例えば、変換プログラムが次の 2 つのファイルを処理するとします。
  • file1.sqlj、これはJavaパッケージに含まれていません
  • file2.sqlj、これはJavaパッケージに含まれています。 sqlj.test
また、変換プログラムを呼び出すときにパラメーター -d=/src を指定するとします。 変換プログラムは file1.sqlj 用のシリアライズド・プロファイルをディレクトリー /src に入れ、file2.sqlj 用のシリアライズド・プロファイルをディレクトリー /src/sqlj/test に入れます。
-compile=true|false
SQLJ トランスレータが生成した Java ソースをバイトコードにコンパイルするかどうかを指定します。
true
翻訳者は生成されたJavaソースコードをコンパイルします。 これはデフォルトです。
false
翻訳者は、生成されたJavaソースコードをコンパイルしません。
-linemap=no|yes
Java例外の行番号を、SQLJソースファイル(.sqljファイル)の行番号と一致させるか、またはSQLJトランスレータによって生成されたJavaソースファイル(.javaファイル)の行番号と一致させるかを指定します。
no
Java例外の行番号は、Javaソースファイルの行番号と一致します。 これはデフォルトです。
yes
Java例外の行番号は、SQLJソースファイルの行番号と一致します。
-smap=no|yes
SQLJ 変換プログラムが SQLJ ソース・ファイルごとにソース・マップ (SMAP) ファイルを生成するかどうかを指定します。 SMAPファイルは、一部のJava言語デバッグツールで使用されています。 このファイルは、SQLJ ソースファイルの行を、SQLJ トランスレータによって生成された Java ソースファイルの行にマッピングします。 ファイルは Unicode UTF-8 コード化スキームです。 そのフォーマットは、このウェブサイトから入手可能なオリジナルJava仕様リクエスト(JSR)45で説明されています
http://www.jcp.org
no
SMAP ファイルを生成しません。 これはデフォルトです。
yes
SMAP ファイルを生成します。 SMAP ファイルの名前は SQLJ-source-file-name.java.smap です。 SQLJ トランスレータは、生成された Java ソースファイルと同じディレクトリに SMAP ファイルを配置します。
-encoding=encoding-name
ソース・ファイルのエンコードを指定します。 例として JIS または EUC があります。 このオプションを指定しない場合、オペレーティング・システムのデフォルト・コンバーターが使用されます。
-db2optimize
SQLJ トランスレータが、データ・サーバに対して実行されるアプリケーションの WebSphere® Application Server 環境で SQLJ コンテキスト・キャッシュを可能にするコードを生成することを指定します。 Db2 データ・サーバに対して実行されるアプリケーションに対して、SQLJコンテキスト・キャッシュを可能にするコードを生成することを指定します。

-db2optimize ユーザー定義のコンテキストをカスタムドライバクラスに拡張させ、 でのコンテキストキャッシュと接続キャッシュを可能にします。 WebSphere Application Server

コンテキスト・キャッシュは IBM® Data Server Driver for JDBC and SQLJ クラスのインスタンスを使用することで有効になるため sqlj.runtime.ref.DefaultContextJava アプリケーションを変換およびコンパイルするときには、 db2jcc4.jar CLASSPATH に含まれている必要があります。

コンテキスト・キャッシングを使用している場合は、 WebSphere Application Server でコネクション共有を使用できません。

重要: -db2optimize オプションで有効化されるコンテキストキャッシュは、 WebSphere Application Server で提供されるコネクション・プーリングおよびステートメント・プーリングよりもパフォーマンスの向上が期待できます。 しかしながら、コンテキスト・キャッシングはアプリケーション・サーバーの大量のリソース消費になる場合があり、正しく使用しないと意図しない副次作用が発生する場合があります。 例えば、2 つのアプリケーションが同じ名前の SQLJ プロファイルを使用すると、両方とも sqlj.runtime.ref.DefaultContext を使用するため、お互いに上書きしてしまう可能性があります。 コンテキスト・キャッシングの使用は以下の場合に限ってください。
  • システムにストレージの制約がない。
  • キャッシュされたステートメントは同じ Connection でよく再使用される。
  • すべてのアプリケーションの SQLJ プロファイルには固有の名前が付いている。
-ser2class
SQLJ 変換プログラムが .ser ファイルを .class ファイルに変換することを指定します。
-status
SQLJ 変換プログラムが実行中に状況メッセージを表示することを指定します。
-version
SQLJ トランスレータがバージョンを表示することを指定します。 IBM Data Server Driver for JDBC and SQLJ。 情報の形式は次のとおりです。
IBM SQLJ xxxx.xxxx.xx
-C-help
SQLJ トランスレータが Java コンパイラのヘルプ情報を表示することを指定します。
-Ccompiler-option
有効なJavaコンパイラオプションを指定します。オプションはダッシュ(-)で始まります。 -C とコンパイラオプションの間にスペースを入れないでください。 複数のコンパイラー・オプションを指定する必要がある場合、各コンパイラー・オプションの前に -C を付けてください。 以下に例を示します。
-C-g -C-verbose
次のオプションを除き、すべてのオプションは Java コンパイラに渡され、SQLJ トランスレータでは使用されません。
-classpath
SQLJ トランスレータと Java コンパイラで使用されるユーザー・クラス・パスを指定します。 この値は CLASSPATH 環境変数をオーバーライドします。
-sourcepath
SQLJ 翻訳プログラムと Java コンパイラがクラスまたはインターフェースの定義を検索するソースコードのパスを指定します。 SQLJ 変換プログラムは、JAR または zip ファイル内ではなく、ディレクトリー内の .sqlj および .java ファイルのみ検索します。
-JJVM-option
sqljコマンドが実行されるJava仮想マシン(JVM)に渡されるオプションを指定します。 オプションは、ダッシュ (-) で始まる有効な JVM オプションでなければなりません。-J と JVM オプションの間にはスペースを入れないでください。 複数の JVM オプションを指定する必要がある場合、各コンパイラー・オプションの前に -J を付けてください。 以下に例を示します。
-J-Xmx128m -J-Xmine2M
SQLJ-source-file-name
変換される SQLJ ソース・ファイルのリストを指定します。 これは必須パラメーターです。 すべての SQLJ ソース・ファイル名には拡張子 .sqlj が付いていなければなりません。

出力

各ソース・ファイル program-name.sqlj ごとに、SQLJ 変換プログラムは以下のファイルを作成します。
  • 生成済みソース・プログラム

    生成済みソース・ファイルには program-name.java という名前が付けられます。

  • SQLJ 実行可能節で使用される接続コンテキスト・クラスごとのシリアライズド・プロファイル・ファイル
    直列化されたプロファイル名の形式は、以下のようになります。
    program-name_SJProfileIDNumber.ser
  • SQLJ 翻訳プログラムが Java コンパイラを呼び出す場合、コンパイラが生成するクラスファイル。

   sqlj -encoding=UTF8 -C-O MyApp.sqlj