分散リレーショナル・データベースへの接続

分散リレーショナル・データベースは、正式なリクエスター/サーバー・プロトコルと機能に基づいて構築されます。

アプリケーション・リクエスター は、接続の両端のうち、アプリケーション側をサポートするものです。 アプリケーション・リクエスターは、 アプリケーションからのデータベース要求を分散データベース・ネットワークでの使用に適した通信プロトコルに変換します。 これらの要求は、接続のもう一方の端のデータベース・サーバー によって受信され、処理されます。 アプリケーション・リクエスターとデータベース・サーバーは連携して通信とロケーションに関する考慮事項を処理し、アプリケーションがローカル・データベースにアクセスしているのと変わりなく稼働できるようにします。

表やビューを参照する SQL ステートメントを実行できるようにするためには、その前に、データベース・マネージャーのアプリケーション・サーバーにアプリケーション・プロセスを接続しておく必要があります。 アプリケーション・プロセスとサーバーの間の接続は、CONNECT ステートメントで確立されます。

CONNECT ステートメントには、次の 2 つのタイプがあります。
  • CONNECT (タイプ 1) では、作業単位 (リモート作業単位) セマンティクスごとに 1 つのデータベースがサポートされます。
  • CONNECT (タイプ 2) では、作業単位 (アプリケーション制御の分散作業単位) セマンティクスごとに複数のデータベースがサポートされます。

Db2® コール・レベル・インターフェース (CLI) および組み込み SQL は、 並行トランザクションと呼ばれる接続モードをサポートします。これにより、複数の接続が可能になり、それぞれが独立したトランザクションになります。 1 つのアプリケーションに、同じデータベースへの複数の同時接続を持たせることができます。

アプリケーション・サーバーは、プロセスが開始される環境に対してローカルでもリモートでもかまいません。 アプリケーション・サーバーは、分散リレーショナル・データベースを使用していない環境でも存在しています。 この環境には、CONNECT ステートメントに指定されるアプリケーション・サーバーを記述するローカル・ディレクトリーが組み込まれています。

アプリケーション・サーバーは、表やビューを参照するバインドされた形式の静的 SQL ステートメントを実行します。 このバインドされたステートメントは、データベース・マネージャーがバインド操作でそれ以前に作成したパッケージから取り出されます。

ほとんどの場合、アプリケーション・サーバーに接続しているアプリケーションは、 そのアプリケーション・サーバーのデータベース・マネージャーでサポートされているステートメントや節を使用できます。 このことは、一部のステートメントや節をサポートしないデータベース・マネージャーの アプリケーション・リクエスターによってアプリケーションが実行される場合でも当てはまります。