リモート照会およびストアード・プロシージャー・アダプターを使用することで、一部の DB2 Everyplace データベース・エンジン固有の機能が使用できるようになります。以下のセクションでは、DB2 Everyplace アプリケーションでリモート照会およびストアード・プロシージャー・アダプターを使用する際の要件および手法について、詳しく説明しています。
パラメーターの引き渡し
DB2 Everyplace では、CLI インターフェースを介してリモート DB2 サーバーにあるストアード・プロシージャーを呼び出すことができます。クライアント・アプリケーションは、CALL ステートメントを使用して、リモート・ストアード・プロシージャーを実行します。CALL ステートメントが、呼び出すストアード・プロシージャーを指示し、そのパラメーターを指定します。サポートされている型は、INTEGER、SMALLINT、DECIMAL、CHAR、VARCHAR、DATE、TIME、 TIMESTAMP、および BLOB です。
結果セットの使用
結果セットは、ストアード・プロシージャーからデータを取り込む際に役立ちます。クライアント・アプリケーションが、結果セットを生成するストアード・プロシージャーを実行すると、ストアード・プロシージャーは SQLFetch() や SQLGetData() などの CLI 関数を使用してデータを取り込めるようになります。DB2 Everyplace は複数の結果セットをサポートしていません。
現行の制限
DB2 Everyplace は、ローカル・データベースの多重接続をサポートしていません。 DB2 Everyplace は、ローカル・データベースへの接続 1 つと、リモート・データベースへの接続 1 つをサポートしています。これには多少の制限があります。アプリケーションは、初めにローカル・データベースに接続し (ローカル接続が必要な場合)、その後でリモート・データベースに接続しなければなりません (リモート接続が必要な場合)。割り当てられた接続ハンドルは共に空いていなければなりません。
リモート接続用にステートメント・ハンドルを 1 つだけ割り振ってください。
DB2 Everyplace アプリケーションの AUTOCOMMIT プロパティーが、ローカル接続またはリモート接続のいずれかで "off" に設定されている場合、アプリケーションは結果セットを戻すリモート・ストアード・プロシージャーを呼び出してはいけません。これは、そのようなリモート・ストアード・プロシージャーを呼び出すときに一時表が作成され、トランザクションの間に後続のデータ定義ステートメントがエラーを引き起こすためです。
サポートされるプラットフォーム
リモート照会およびストアード・プロシージャー・アダプターは、Windows 32 ビット版および Palm OS クライアント・プラットフォームをサポートしています。リモート照会およびストアード・プロシージャー・アダプターにとって、ストアード・プロシージャーが DB2 に登録されていることが必要です。
プログラミングのヒント