pureQuery クライアント最適化を使用するようにコール・レベル・インターフェース (CLI) アプリケーションを構成すると、CLI クライアント・ドライバーは、既存の DB2® CLI アプリケーションで SQL ステートメントを静的に実行できるようにするなど、pureQuery 機能を使用可能にすることができます。SQL ステートメントを静的に実行すると、実行時に SQL ステートメントを準備する必要がなくなり、アプリケーションのセキュリティーおよびパフォーマンスを向上させることができます。
このタスクについて
pureQuery クライアント最適化を使用する CLI アプリケーションを構成するには、まず CLI アプリケーションによって発行される SQL ステートメントをキャプチャーするように CLI アプリケーションを構成します。次に、アプリケーションによって発行される SQL ステートメントの実行を制御するようにアプリケーションを構成します。
- アプリケーションを DB2 データベースと接続すると、SQL ステートメントを静的に実行するようにアプリケーションを構成できます。
この構成プロセスには、キャプチャーした SQL ステートメントを含む pureQueryXML ファイルを構成し、キャプチャーした SQL ステートメントをバインドするという追加のステップが含まれています。
- Informix® データベースは、SQL ステートメントの静的な実行をサポートしていません。アプリケーションを Informix データベースと接続すると、他の pureQuery 機能を使用して、アプリケーションがデータベースに対して実行する SQL ステートメントを制御できます。これらの機能は、pureQuery クライアント最適化に対応し、かつ、Informix または DB2 のいずれかのデータベースに接続している CLI アプリケーションで使用できます。
このタスクでは、pureQuery クライアント最適化を使用する CLI アプリケーションを構成する方法を示します。
手順
pureQuery クライアント最適化を使用する CLI アプリケーションを構成するには、次のようにします。
- アプリケーションによって発行される SQL ステートメントをキャプチャーするために、CLI アプリケーション構成ファイルで pureQuery キーワードを設定します。
db2cli.ini ファイルまたは db2dsdriver.cfg ファイルのいずれかでキーワードを設定します。db2cli.ini ファイルでの設定は、db2dsdriver.cfg ファイルでの設定に優先します。
- captureMode キーワードの値を ON に設定します。
- executionMode キーワードの値を DYNAMIC に設定します。
executionMode キーワードのデフォルト値は、DYNAMIC です。ファイルにこのキーワードがあると、デフォルト値を再認識できます。
- pureQueryXML キーワードの値を、キャプチャーした SQL データを保管する pureQueryXML ファイルのパスおよびファイル名に設定します。
pureQueryXML ファイルの拡張子は、.xml または .pdqxml でなければなりません。
- アプリケーションを実行して、SQL ステートメントを pureQueryXML ファイルにキャプチャーします。
処理のために pureQueryXML ファイルを移動する場合は、ファイルを取得する際に pureQueryXML ファイルに書き込みが行われていないことを確認してください。
書き込みが行われているときにファイルを取得すると、ファイルの内容が無効になったり、アプリケーションでファイルを更新できなくなって入出力エラーが発生したりする場合があります。
- SQL ステートメントを静的に実行する必要がある: pureQueryXML ファイルを構成し、次にファイル内の SQL ステートメントを使用して、パッケージをアプリケーション・データベース上に作成し、データベースにパッケージをバインドします。
pureQuery Runtime がインストールされており、かつ、Java ベースの pureQuery ユーティリティー Configure および StaticBinder を実行するように構成されているコンピューターで、pureQueryXML ファイルを処理します。
- 必要な場合、pureQuery ユーティリティーを実行するよう構成されているコンピューターに pureQueryXML ファイルをコピーします。
- pureQuery Configure ユーティリティーを実行して、パッケージ名およびコレクション ID を含む pureQueryXML ファイルを構成します。
コマンド・プロンプトで、Configure ユーティリティーを実行して、pureQuery StaticBinder ユーティリティーで使用されるパッケージ名およびコレクション ID などの情報を pureQueryXML ファイルに追加します。他のオプションを指定して、ファイル内の SQL ステートメントを管理することもできます。
- 構成済みの pureQueryXML ファイルを使用して pureQuery StaticBinder ユーティリティーを実行し、ターゲットの DB2 サーバー上にパッケージを作成し、バインドします。
コマンド・プロンプトで、StaticBinder ユーティリティーを実行して、データベースにファイルをバインドします。データベースおよびパッケージ情報を指定するオプションを使用して、StaticBinder ユーティリティーを実行します。
- 必要な場合、CLI アプリケーションが実行されるコンピューター上の pureQueryXML ファイルを処理済みのファイルに置換します。
- SQL ステートメントの実行を制御するための CLI アプリケーションの構成を更新します。
db2cli.ini 構成ファイルまたは db2dsdriver.cfg 構成ファイルを見つけて、キーワードと値を更新します。以下のリストは、サンプルの構成について説明しています。
- SQL ステートメントを静的に実行するようにアプリケーションを構成するには、次のキーワードと値を更新します。
- captureMode キーワードの値を OFF に設定します。
- executionMode キーワードの値を STATIC に設定します。
- pureQueryXML キーワードの値を、キャプチャーした SQL ステートメントを含む pureQueryXML のパスおよびファイル名に設定します。
これらのキーワード設定で、CLI アプリケーションは SQL ステートメントを静的に実行するようになります。
- アプリケーション SQL ステートメントを動的に実行し、アプリケーションによる実行が pureQueryXML ファイル内のステートメントのみに制限されるようにアプリケーションを構成するには、次のキーワードと値を更新します。
- captureMode キーワードの値を OFF に設定します。
- capturedOnly キーワードの値を TRUE に設定します。
- executionMode キーワードの値を DYNAMIC に設定します。
- pureQueryXML キーワードの値を、キャプチャーした SQL ステートメントを含む pureQueryXML のパスおよびファイル名に設定します。
これらのキーワード設定で、CLI アプリケーションは SQL ステートメントを動的に実行するようになります。pureQueryXML ファイル内の SQL ステートメントのみが実行されます。pureQueryXML ファイルにない SQL ステートメントをアプリケーションが発行すると、エラーが返されます。
- 構成ファイルおよび pureQueryXML ファイル内の更新された情報を使用するために、アプリケーションを実行または再開します。
タスクの結果
pureQuery クライアント最適化に対応した CLI アプリケーションが、指定した構成に基づいて SQL ステートメントを実行するようになります。