ファイル内にある SQL ステートメントを実行または準備して、それらのステートメントを pureQueryXML ファイルにキャプチャーするには、DB2® コマンド db2cli を使用します。
始める前に
db2cli コマンドを使用して SQL ステートメントを実行する前に、それらの SQL ステートメントによって参照される表を作成します。
データベースに接続するデータベース・ドライバーに対して、pureQuery クライアント最適化を有効にしておく必要もあります。
このタスクについて
pureQuery クライアント最適化を使用して SQL ステートメントをアプリケーションが実行する方法を制御するためには、そのステートメントを pureQueryXML ファイル内にキャプチャーします。SQL ステートメントをキャプチャーするための主な方法は、アプリケーションを pureQuery クライアント最適化対応にして、そのアプリケーションの実行時に SQL ステートメントをキャプチャーすることです。SQL ステートメントをキャプチャーする代わりに、db2cli コマンドを実行することもできます。
手順
DB2 データベースで SQL ステートメントを実行して、そのステートメントを pureQueryXML ファイルにキャプチャーするには、次のようにします。
- SQL ステートメントを収めるテキスト・ファイルを作成します。
- db2cli コマンドを実行して SQL ステートメントの妥当性検査を行います。
-
prepareonly オプションを使用してこのコマンドを実行し、データベース接続および SQL ファイルを指定します。
次のコマンドは、SAMPLE データベースを使用して
s.sql ファイル内の SQL ステートメントの妥当性検査を行います。
db2cli execsql –prepareonly –dsn sample –inputsql a.sql
-prepareonly オプションを指定すると、db2cli コマンドは SQL ステートメントを準備しますが、実行はしません。
- 必要に応じて、出力に送信されたエラーを修正して、コマンドを実行しなおします。
- SQL ステートメントのキャプチャーをサポートするように、pureQuery のキーワードを変更します。
SQL ファイルを指定して db2cli コマンドを実行すると、pureQuery クライアント最適化は SQL ステートメントを pureQueryXML ファイルにキャプチャーします。
SQL ステートメントをキャプチャーするには、db2cli.ini ファイルで以下の pureQuery Runtime キーワードを設定してください。
captureMode=ON
pureQueryXml=Sample1Cptr.pdqxml
db2dsdriver.cfg ファイルを使用する場合には、データベース項目の属性として以下のキーワードを設定します。
<database name="sample", host="serv1.mynet.com", port="50001">
<parameter name="captureMode" value="ON"/>
<parameter name="pureQueryXml" value="Sample1Cptr.pdqxml"/>
</database>
- コマンド db2cli を実行して SQL ステートメントをキャプチャーします。
このコマンドを実行して、データベース接続および SQL ファイルを指定します。
次のコマンドは、SAMPLE データベースで
s.sql ファイル内の SQL ステートメントを実行します。
ステートメントが pureQueryXML ファイル
Sample1Cptr.pdqxml にキャプチャーされます。
db2cli execsql –dsn sample –inputsql a.sql
-prepareonly オプションを使用して SQL ステートメントをキャプチャーすることもできます。
- pureQuery のキーワードを元の値に戻します。
次のタスク
Java ベースの pureQuery ユーティリティーである Configure と StaticBinder を使用して、pureQuery クライアント最適化に対応している CLI アプリケーションが SQL ステートメントを静的に実行できるようにします。