図 29 に図示されているように、 VM アプリケーションは DB2 VM アプリケーション・リクエスター (資源アダプター) を介して DB2 (VM 版) または DRDA アプリケーション・サーバー・データベースにアクセスしなければなりません。 DB2 (VM 版) アプリケーション・サーバー・データベースは、任意の DB2 (VM 版) または DRDA アプリケーション・リクエスターから SQL 要求を受け取ることができます。
図 29. DB2 (VM 版) アプリケーション・リクエスターおよびアプリケーション・サーバー
DB2 (VM 版) は、ユーザーおよびデータベース管理者が分散データベース・サポートを使用可能にできる 3 つの処理オプションを sqlinit コマンドにサポートしています。ユーザーは、アプリケーションをプリプロセスまたは実行する前に以下のいずれかの SQLINIT オプションを指定できます。
表 3 では、
DB2 (VM 版) アプリケーション・リクエスターの SQLINIT 処理オプションの機能特性が比較されています。
表 3. DB2 (VM 版) アプリケーション・リクエスター SQLINIT 処理オプションの比較
[SQLDS] | [AUTO] | [DRDA] |
両パートナーとも DB2 (VM 版) システムでなければなりません。 | どの DRDA システムにも接続します。 | どの DRDA システムにも接続します。 |
TSAF または AVS/VTAM を介してローカルにパートナーと通信できます。 | DB2 (VM 版) システムとローカルに通信できます。また、TSAF か AVS を介してリモート DB2 (VM 版) と通信できます。異種システムでは、AVS を介して通信しなければなりません。 | DB2 (VM 版) システムとローカルに通信できます。また、TSAF か AVS を介してリモート DB2 (VM 版) と通信できます。異種システムでは、AVS を介して通信しなければなりません。 |
静的、動的、および拡張動的 SQL をサポートします。 | 静的、動的、および拡張動的 SQL をサポートします。 | 静的、動的、および拡張動的 SQL をサポートします。6 |
アプリケーション・リクエスターの SQLINIT で定義された CCSID は、 DB2 (VM 版) アプリケーション・サーバーにより無視されます。 | アプリケーション・リクエスターについて SQLINIT で定義された CCSID が DB2 (VM 版) アプリケーション・サーバーで適用され、適切な会話が実行されます (アプリケーション・サーバーが AUTO に設定されている場合)。 | アプリケーション・リクエスターについて SQLINIT で定義された CCSID が DB2 (VM 版) アプリケーション・サーバーで適用され、適切な会話が実行されます。 |
固定 8K ブロック・サイズ; OPEN 呼び出しは行を戻さない; アプリケーション・リクエスターがカーソルを明示的にクローズする必要がある。 | DB2 (VM 版) から DB2 (VM 版) では SQLDS 方式。その他は DRDA 方式。 | 可変 1K 〜 32 K ブロック・サイズ; よりコンパクトなデータ・パッケージング; OPEN 呼び出しは行の 1 ブロックを戻す; アプリケーション・サーバーが暗黙的にカーソルをクローズするため、アプリケーション・リクエスターは CLOSE 送信する必要がない。 |
固定 8K ブロック・サイズを使用している時には、カーソル INSERT および PUT を使用して行のブロックを挿入できます。 | DB2 (VM 版) から DB2 (VM 版) では SQLDS 方式。その他は DRDA 方式。 | PUT は正規の単一行挿入に変換され、一度に一行ずつ送信されます。 |
すべての DB2 (VM 版) 固有コマンドがサポートされます。 | DB2 (VM 版) から DB2 (VM 版) では SQLDS 方式。その他は DRDA 方式。 | DB2 (VM 版) オペレーター・コマンド、一部の DB2 (VM 版) ステートメント、およびいくつかの ISQL と DBSU コマンドはサポートされません (DB2 サーバー (VSE および VM 版) SQL 解説書 を参照)。 |
LUWID はサポートされません。 | LUWID がサポートされます。 | LUWID がサポートされます。 |
ここでは、データベース・サーバー・マシンを開始させるさまざまなオプションについて説明します。
データベース管理者は、データベース・サーバー・マシンを開始するときに、 PROTOCOL パラメーターで以下のいずれかのオプションを指定できます。
アプリケーション・サーバーはアプリケーション・リクエスターによって選択される処理オプションに影響されます。 DB2 (VM 版) リクエスターが PROTOCOL(SQLDS) を指定する場合、 DB2 (VM 版) サーバー上の処理はプライベート・フローを使用して通常通り続けられます。 DB2 (VM 版) が PROTOCOL(AUTO) を指定すると、 DB2 (VM 版) サーバーはプライベート・フローを切り替えるよう、リクエスターに通知します。アプリケーション・リクエスターとアプリケーション・サーバーとの間で CCSID 情報は交換されません。アプリケーション・サーバーは、アプリケーション・リクエスター CCSID がアプリケーション・サーバー CCSID と同じであるとして処理します。 DB2 (VM 版) リクエスターが PROTOCOL(DRDA) を指定すると、会話は終了します。 DB2 (VM 版) と DB2 (VSE 版) 以外のアプリケーション・リクエスターが DB2 (VM 版) サーバーにアクセスしようとすると、会話は終了します。
このパラメーターは、同期点管理プログラム (SPM) が DRDA-2 マルチ・サイト読み込み、マルチ・サイト書き込み分散作業単位活動を調整するために使用されるかどうかを指定します。
Y を指定すれば、サーバーは同期点管理プログラムを使い (可能な場合)、 2 フェーズ・コミットおよび再同期活動を調整します。 N を指定すれば、アプリケーション・サーバーは 2 フェーズ・コミットを実行するために SPM を使用しません。 N が指定された場合、アプリケーション・サーバーはマルチ・サイト読み込み、マルチ・サイト書き込み分散作業単位に限定され、シングル書き込みサイトになる場合があります。 Y が指定された場合、アプリケーション・サーバーは検索マネージャーが利用不能であることを見つけ、その後サーバーは N が指定されたものとして操作されます。
PROTOCOL=AUTO のときの省略時値は SYNCPNT=Y です。 PROTOCOL=SQLDS のとき、SYNCPNT パラメーターは N に設定されます。
CHARNAME は、適切な CCSID に内部でマップされる記号名です。