注: | IBM Java 開発者キット (UNIX、OS/2、および Windows 32 ビット・オペレーティング・システム版) で SQLJ プログラムを構築し、実行するには、
ご使用のオペレーティング・システムに該当する次のコマンドを使って、
JDK のジャストインタイム・コンパイラーをオフにしなければなりません。
|
ビルド・ファイル bldsqlj には、 SQLJ アプレットまたはアプリケーションを構築するためのコマンドが組み込まれています。 UNIX ではスクリプト・ファイルがこれに相当します。 OS/2 ではコマンド・ファイル bldsqlj.cmd が、 また Windows ではバッチ・ファイル bldsqlj.bat がこれに相当します。 これらのコマンド・ファイルとバッチ・ファイルの内容は同じです。 それでこのバージョンを最初に示してあり、その後に UNIX スクリプト・ファイルを示します。 アプレットとアプリケーションの構築に関するそれ以降の節では、 これらのビルド・ファイルを後から参照しています。
注: | DB2 に付属している SQLJ 変換プログラムは、 変換後の .java ファイルを .class ファイルにコンパイルします。 そのため、この節のビルド・ファイルは java コンパイラーを使用しません。 |
以下に示す、OS/2 および Windows 32 ビット・オペレーティング・システム用のビルド・ファイルでは、 第 1 パラメーター %1 にソース・ファイルの名前を指定します。 第 2 パラメーター %2 には、接続先のデータベースの名前を指定します。 第 3 パラメーター %3 には、 そのデータベースのユーザー ID を指定し、%4 にはそのパスワードを指定します。 最初のパラメーター (ソース・ファイル名) だけが、必須です。 データベース名、ユーザー ID、およびパスワードは任意指定です。 データベース名を指定しない場合は、 プログラムはデフォルトの sample データベースを使用します。
@echo off rem bldsqlj -- OS/2 and Windows 32-bit operating systems rem Builds a Java embedded SQL (SQLJ) program. rem Usage: bldsqlj prog_name [ db_name [ userid password ]] if "%1" == "" goto error rem Translate and compile the SQLJ source file rem and bind the package to the database. if "%2" == "" goto case1 if "%3" == "" goto case2 if "%4" == "" goto error goto case3 :case1 sqlj %1.sqlj db2profc -url=jdbc:db2:sample -prepoptions="package using %1" %1_SJProfile0 goto continue :case2 sqlj -url=jdbc:db2:%2 %1.sqlj db2profc -url=jdbc:db2:%2 -prepoptions="package using %1" %1_SJProfile0 goto continue :case3 sqlj -url=jdbc:db2:%2 -user=%3 -password=%4 %1.sqlj db2profc -url=jdbc:db2:%2 -user=%3 -password=%4 -prepoptions="package using %1" %1_SJProfile0 goto continue :continue goto exit :error echo Usage: bldsqlj prog_name [ db_name [ userid password ]] :exit @echo on
bldsqlj の変換プログラムとプリコンパイル・オプション |
---|
|
以下に示す UNIX スクリプト・ファイルでは、 第 1 パラメーター $1 にソース・ファイルの名前を指定します。 第 2 パラメーター $2 には、 接続先のデータベースの名前を指定します。 第 3 パラメーター $3 にはそのデータベースのユーザー ID を、 また $4 にはパスワードを指定します。 最初のパラメーター (ソース・ファイル名) だけが、必須です。 データベース名、ユーザー ID、およびパスワードは任意指定です。 データベース名を指定しない場合は、 プログラムはデフォルトの sample データベースを使用します。
#! /bin/ksh # bldsqlj script file -- UNIX platforms # Builds a Java embedded SQL (SQLJ) sample # Usage: bldsqlj <prog_name> [ <db_name> [ <userid> <password> ]] # Translate and compile the SQLJ source file # and bind the package to the database. if (($# < 2)) then sqlj $1.sqlj db2profc -url=jdbc:db2:sample -prepoptions="package using $1" $1_SJProfile0 elif (($# < 3)) then sqlj -url=jdbc:db2:$2 $1.sqlj db2profc -url=jdbc:db2:$2 -prepoptions="package using $1" $1_SJProfile0 else sqlj -url=jdbc:db2:$2 -user=$3 -password=$4 $1.sqlj db2profc -url=jdbc:db2:$2 -user=$3 -password=$4 -prepoptions="package using $1" $1_SJProfile0 fi
bldsqlj の変換プログラムとプリコンパイル・オプション |
---|
|
Applt は、 DB2 データベースにアクセスする SQLJ アプレットを例示します。
このアプレットをビルド・ファイル bldsqlj で構築して実行するには、 次のようにします。
db2jstrt 6789
bldsqlj Applt [ <db_name> [ <userid> <password> ]]
上記のコマンドで任意指定パラメーター <db_name> を指定すると、 デフォルトの sample データベースではない別のデータベースにアクセスできます。 任意指定パラメーター <userid> と <password> は、 リモートのクライアント・マシンからサーバーにアクセスするときなど、 アクセスする予定のデータベースが別のインスタンス上にある場合に指定しなければなりません。
Applt.html, Applt.class, Applt_Cursor1.class, Applt_Cursor2.class, Applt_SJProfileKeys.class, Applt_SJProfile0.ser
ステップ (1)、(5)、および (7) の代わりに、 次のコマンドをクライアント・マシンの作業ディレクトリーで入力して、 Java 開発者キットに付属のアプレット・ビューアーを使用することができます。
appletviewer Applt.html
このプログラムは、Java の makefile を使って構築することも可能です。
App は、 DB2 データベースにアクセスする SQLJ アプリケーションを例示します。
このアプリケーションをビルド・ファイル bldsqlj で構築するには、 以下に示すコマンドを入力します。
bldsqlj App [ <db_name> [ <userid> <password> ]]
上記のコマンドで任意指定パラメーター <db_name> を指定すると、 デフォルトの sample データベースではない別のデータベースにアクセスできます。 任意指定パラメーター <userid> と <password> は、 リモートのクライアント・マシンからサーバーにアクセスするときなど、 アクセスする予定のデータベースが別のインスタンス上にある場合に指定しなければなりません。
次のコマンドで、アプリケーションに対して Java インタープリターを実行します。
java App
このプログラムは、Java の makefile を使って構築することも可能です。
Stclient は、 SQLJ ストアード・プロシージャー Stserver を JDBC アプリケーション・ドライバーを使って呼び出すクライアント・プログラムです。 このクライアント・アプリケーションを構築して実行する前に、 ストアード・プロシージャー・クラスをサーバー上で構築します。 "ストアード・プロシージャー"を参照してください。
このクライアント・プログラムをビルド・ファイル bldsqlj で構築するには、 以下に示すコマンドを入力します。
bldsqlj Stclient [ <db_name> [ <userid> <password> ]]
上記のコマンドで任意指定パラメーター <db_name> を指定すると、 デフォルトの sample データベースではない別のデータベースにアクセスできます。 任意指定パラメーター <userid> と <password> は、 リモートのクライアント・マシンからサーバーにアクセスするときなど、 アクセスする予定のデータベースが別のインスタンス上にある場合に指定しなければなりません。
次のコマンドで、クライアント・アプリケーションに対して Java インタープリターを実行します。
java Stclient
このプログラムは、Java の makefile を使って構築することも可能です。
UDFclie は、 ユーザー定義関数サーバー・プログラム UDFsrv を、 JDBC アプリケーション・ドライバーを使って呼び出すクライアント・プログラムです。 このクライアント・アプリケーションを構築して実行する前に、 UDFsrv プログラムをサーバー上で構築します。 "ユーザー定義関数 (UDF)"を参照してください。
この SQLJ クライアント・プログラムをビルド・ファイル bldsqlj で構築するには、 以下に示すコマンドを入力します。
bldsqlj UDFclie [ <db_name> [ <userid> <password> ]]
上記のコマンドで任意指定パラメーター <db_name> を指定すると、 デフォルトの sample データベースではない別のデータベースにアクセスできます。 任意指定パラメーター <userid> と <password> は、 リモートのクライアント・マシンからサーバーにアクセスするときなど、 アクセスする予定のデータベースが別のインスタンス上にある場合に指定しなければなりません。
次のコマンドで、クライアント・アプリケーションに対して Java インタープリターを実行します。
java UDFclie
このプログラムは、Java の makefile を使って構築することも可能です。
ビルド・ファイル bldsqljs には、 SQLJ ストアード・プロシージャーを構築するためのコマンドが組み込まれています。 UNIX ではスクリプト・ファイルがこれに相当します。 OS/2 ではコマンド・ファイル bldsqljs.cmd が、 また Windows ではバッチ・ファイル bldsqljs.bat がこれに相当します。 これらのコマンド・ファイルとバッチ・ファイルの内容は同じです。 それでこのバージョンを最初に示してあり、その後に UNIX スクリプト・ファイルを示します。
以下に示す、OS/2 および Windows 32 ビット・オペレーティング・システム用のビルド・ファイルでは、 第 1 パラメーター %1 にソース・ファイルの名前を指定します。 第 2 パラメーター %2 には、接続先のデータベースの名前を指定します。 ストアード・プロシージャーは、 データベースが存在するのと同じインスタンス上に構築されなければならないので、 ユーザー ID およびパスワード用のパラメーターはありません。
最初のパラメーター (ソース・ファイル名) だけが、必須です。 データベース名を指定しない場合は、 プログラムはデフォルトの sample データベースを使用します。
@echo off rem bldsqljs -- OS/2 and Windows 32-bit operating systems rem Builds a Java embedded SQL (SQLJ) stored procedure rem Usage: bldsqljs prog_name [ db_name ] if "%1" == "" goto error rem Translate and compile the SQLJ source file rem and bind the package to the database. if "%2" == "" goto case1 goto case2 :case1 sqlj %1.sqlj db2profc -url=jdbc:db2:sample -prepoptions="package using %1" %1_SJProfile0 goto continue :case2 sqlj -url=jdbc:db2:%2 %1.sqlj db2profc -url=jdbc:db2:%2 -prepoptions="package using %1" %1_SJProfile0 :continue rem Copy the *.class and *.ser files to the 'function' directory. copy %1*.class "%DB2PATH%\function" copy %1*.ser "%DB2PATH%\function" goto exit :error echo Usage: bldsqljs prog_name [ db_name ] :exit @echo on
bldsqljs の変換プログラムとプリコンパイル・オプション |
---|
|
以下に示す UNIX スクリプト・ファイルでは、 第 1 パラメーター $1 にソース・ファイルの名前を指定します。 第 2 パラメーター $2 には、 接続先のデータベースの名前を指定します。 ストアード・プロシージャーは、 必ずデータベースが常駐するインスタンスに構築される必要があるため、 ユーザー ID やパスワードを指定するパラメーターはありません。
最初のパラメーター (ソース・ファイル名) だけが、必須です。 データベース名を指定しない場合は、 プログラムはデフォルトの sample データベースを使用します。
#! /bin/ksh # bldsqljs script file -- UNIX platforms # Builds a Java embedded SQL (SQLJ) stored procedure # Usage: bldsqljs <prog_name> [ <db_name> ] # Set DB2PATH to where DB2 will be accessed. # The default is the standard instance path. DB2PATH=$HOME/sqllib # Translate and compile the SQLJ source file # and bind the package to the database. if (($# < 2)) then sqlj $1.sqlj db2profc -url=jdbc:db2:sample -prepoptions="package using $1" $1_SJProfile0 else sqlj -url=jdbc:db2:$2 $1.sqlj db2profc -url=jdbc:db2:$2 -prepoptions="package using $1" $1_SJProfile0 fi # Copy the *.class and *.ser files to the 'function' directory. rm -f $DB2PATH/function/$1*.class rm -f $DB2PATH/function/$1*.ser cp $1*.class $DB2PATH/function cp $1*.ser $DB2PATH/function
bldsqljs の変換プログラムとプリコンパイル・オプション |
---|
|
Stserver は、 DB2 データベースにアクセスするために、 JDBC アプリケーション・ドライバーを使用した PARAMETER STYLE JAVA ストアード・プロシージャーを例示します。 ストアード・プロシージャーはサーバー上でコンパイルされ、格納されます。 そして、クライアント・アプリケーションによって呼び出されるとサーバー・データベースにアクセスし、そのクライアント・アプリケーションに情報を戻します。
このストアード・プロシージャー・クラスをビルド・ファイル bldsqljs で構築するには、 以下に示すコマンドを入力します。
bldsqljs Stserver [ <db_name> ]
上記のコマンドで任意指定パラメーター <db_name> を指定すると、 デフォルトの sample データベースではない別のデータベースにアクセスできます。
db2 connect to sample
ストアード・プロシージャーがすでにカタログ化されている場合は、 次のコマンドを使用してそれらをドロップすることができます。
db2 -td@ -vf Stdrop.db2
その後、次のコマンドでストアード・プロシージャーをカタログ化します。
db2 -td@ -vf Stcreate.db2
このプログラムは、Java の makefile を使って構築することも可能です。