コネクティビティー 補足

DB2 (VM 版) インプリメンテーション

図 29 に図示されているように、 VM アプリケーションは DB2 VM アプリケーション・リクエスター (資源アダプター) を介して DB2 (VM 版) または DRDA アプリケーション・サーバー・データベースにアクセスしなければなりません。 DB2 (VM 版) アプリケーション・サーバー・データベースは、任意の DB2 (VM 版) または DRDA アプリケーション・リクエスターから SQL 要求を受け取ることができます。

図 29. DB2 (VM 版) アプリケーション・リクエスターおよびアプリケーション・サーバー


REQTEXT

アプリケーションのプリプロセスまたは実行オプション

DB2 (VM 版) は、ユーザーおよびデータベース管理者が分散データベース・サポートを使用可能にできる 3 つの処理オプションを sqlinit コマンドにサポートしています。ユーザーは、アプリケーションをプリプロセスまたは実行する前に以下のいずれかの SQLINIT オプションを指定できます。

PROTOCOL(SQLDS)
プライベート SQLDS プロトコルの使用を要求します。これは、省略時オプションです。これは、ローカルまたはリモート環境で、 DB2 (VM 版) アプリケーション・リクエスターとサーバーとの間で使用できます。 DB2 (VM 版) アプリケーションは、リクエスターが同じ CCSID をサーバーとして使用することを前提とします。 SQLINIT を介してリクエスターにより設定された CCSID 省略時値 5 は無視され、どの LU 6.2 LUWID も会話と関連していません。 DB2 (VM 版) システムしか使用しておらず、どこでも同じ省略時 CCSID を使用している場合には、この方法が最も効果的といえます。

PROTOCOL(AUTO)
DB2 (VM 版) アプリケーション・リクエスターに、アプリケーション・サーバーが同種システムか異種システムかを判別するように要求します。それから、同種システムにはプライベート SQLDS プロトコル、異種システムには DRDA プロトコルの使用を自動的に選択します。これは、同種 (ローカルおよびリモート) システムと異種システムとの間で使用できます。アプリケーション・サーバーが PROTOCOL=SQLDS で設定されていない場合には、アプリケーション・リクエスターとサーバーは異なる CCSID 省略時値を持つことができます。要求および応答は、適切に変換されます。 AUTO は、以下のいずれかの場合に勧められるオプションです。

PROTOCOL(DRDA)
DB2 (VM 版) アプリケーション・リクエスターが DRDA プロトコルだけを使用して、アプリケーション・サーバーと通信するようにします。このオプションは、同種 (ローカルおよびリモート) システムと異種システムとの間で使用できます。アプリケーション・サーバーが同種システムの場合には、 DRDA プロトコルが 2 つの DB2 (VM 版) システムの間で使用されます。アプリケーション・リクエスターとアプリケーション・サーバーとでは CCSID 省略時値が異なります。要求および応答は、適切に変換されます。このオプションは 2 つの DB2 (VM 版) システムの間でテスト用に、またはある種のアプリケーション用に使用できます。つまり、DRDA プロトコルを使用するとデータの送受信に、より大きなバッファー・サイズが使えるためにスループットが向上する場合があるので、その種のアプリケーションに使用できます。

表 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 パラメーター

データベース管理者は、データベース・サーバー・マシンを開始するときに、 PROTOCOL パラメーターで以下のいずれかのオプションを指定できます。

SQLDS
アプリケーション・サーバーが DB2 (VM 版) アプリケーション・リクエスターまたは VSE ゲスト共有を利用している DB2 (VSE 版) アプリケーション・リクエスターのサポートだけを提供する必要がある場合の、省略時または推奨されるオプション。アプリケーション・サーバーはプライベート (SQLDS) フローだけを使用します。

アプリケーション・サーバーはアプリケーション・リクエスターによって選択される処理オプションに影響されます。 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 版) サーバーにアクセスしようとすると、会話は終了します。

AUTO
アプリケーション・サーバーがプライベート・プロトコルと DRDA プロトコルの両方にサポートを提供する必要がある場合に推奨されるオプション。 PROTOCOL(SQLDS) または PROTOCOL(AUTO) を指定した DB2 (VM 版) アプリケーション・リクエスターはプライベート・フローで通信を行います。 SQLDS を指定したアプリケーション・リクエスターでは、 CCSID 情報は全く交換されず、アプリケーション・サーバーは、アプリケーション・リクエスター CCSID がアプリケーション・サーバー CCSID と同一であると想定します。 AUTO を指定したリクエスターでは、CCSID 情報が交換され、要求および応答の CCSID 会話は正しく実行されます。 DB2 (VM 版) 以外のリクエスター、または PROTOCOL(DRDA) を指定する DB2 (VM 版) リクエスターは、DRDA フローが必要です。

SYNCPNT パラメーター

このパラメーターは、同期点管理プログラム (SPM) が DRDA-2 マルチ・サイト読み込み、マルチ・サイト書き込み分散作業単位活動を調整するために使用されるかどうかを指定します。

Y を指定すれば、サーバーは同期点管理プログラムを使い (可能な場合)、 2 フェーズ・コミットおよび再同期活動を調整します。 N を指定すれば、アプリケーション・サーバーは 2 フェーズ・コミットを実行するために SPM を使用しません。 N が指定された場合、アプリケーション・サーバーはマルチ・サイト読み込み、マルチ・サイト書き込み分散作業単位に限定され、シングル書き込みサイトになる場合があります。 Y が指定された場合、アプリケーション・サーバーは検索マネージャーが利用不能であることを見つけ、その後サーバーは N が指定されたものとして操作されます。

PROTOCOL=AUTO のときの省略時値は SYNCPNT=Y です。 PROTOCOL=SQLDS のとき、SYNCPNT パラメーターは N に設定されます。


脚注:

5
DB2 (VM 版) では、アプリケーション・リクエスターおよびアプリケーション・サーバーはそれぞれ SQLINIT および SQLSTART に CHARNAME オプションを指定して省略時 CCSID を指定します。

CHARNAME は、適切な CCSID に内部でマップされる記号名です。

6
拡張動的 SQL は、静的または動的ステートメントに変換されることにより DRDA フローでサポートされています。いくらかの制限が適用されます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]