クライアント/サーバー間通信

IBM® データ・サーバー・クライアント および Db2® データベース・サーバー製品のクライアント/サーバー通信を構成するには、接続のコンポーネントとタイプを理解している必要があります。

コンポーネントとシナリオ

クライアント/サーバー間通信で使用される基本的なコンポーネントについては、以下のセクションで説明します。

  • クライアント。 通信のイニシエーターを意味します。 この役割には以下の Db2 製品またはコンポーネントがいずれも該当します。
    • IBM Data Server Driver Package
    • IBM Data Server Client または IBM Data Server Runtime Client
    • Db2 Connect: この製品は、 IBM Data Server Clientのスーパーセットです。
    • Db2 サーバー製品: Db2 サーバーは、 Data Server Clientのスーパーセットです。
  • サーバー。 これはクライアントからの通信要求の受信側を意味します。 この役割は通常、 Db2 サーバー製品によって充てんされます。 Db2 Connect 製品が存在する場合、サーバー という用語は、ミッドレンジまたはメインフレーム・プラットフォーム上の Db2 サーバーを意味することもあります。
  • 通信プロトコル。 これはクライアントとサーバー間でのデータの送受信に使用されるプロトコルです。 Db2 製品は以下に示す複数のプロトコルをサポートします。
    • TCP/IP。 バージョンによって細かい特徴が異なる場合があります: TCP/IPv4 または TCP/IPv6。
    • Named PIPE。 このオプションは、Windows でのみ使用可能です。
    • IPC (プロセス間通信)。 このプロトコルはローカルでの接続にのみ用いられます。
この他にも一部の環境で使用できるコンポーネントがあります。
  • Db2 Connect ゲートウェイ。 これは、 IBM データ・サーバー・クライアントDb2 サーバーへの接続に使用できるゲートウェイを提供する Db2 Connect サーバー製品を指します。 ミッドレンジおよびメインフレーム製品
  • LDAP (Lightweight Directory Access Protocol)。 LDAP が有効な環境では、クライアント/サーバー間通信を構成する必要はありません。 クライアントがデータベースに接続しようとしたときに、ローカル・マシンのデータベース・ディレクトリーにデータベースが存在しない場合、LDAP ディレクトリー内のデータベース接続に必要な情報を検索します。
以下のシナリオでは、クライアント/サーバー間通信の対象になる状態を例示しています。
  • Data Server Client は、TCP/IP を使用して Db2 サーバーとの通信を確立します。
  • Data Server Runtime Client は、Windows ネットワーク上で名前付きパイプを使用して Db2 サーバーとの通信を確立します。
  • Db2 サーバーが何らかの通信プロトコルを介して、別の Db2 サーバーとの通信を確立する場合。
  • Data Server Client は、TCP/IP を使用する Db2 Connect サーバーを介して、メインフレーム Db2 サーバーとの通信を確立します。

開発環境 ( IBM Data Studioなど) で作業するようにサーバーをセットアップすると、初期 Db2 接続時にエラー・メッセージ SQL30081N が表示されることがあります。 根本原因としては、リモート・データベース・サーバー側のファイアウォールによって接続の確立が妨げられたことが考えられます。 この場合、ファイアウォールがクライアントからの接続要求を受け入れるように適切に構成されていることを確認してください。

接続のタイプ

クライアント/サーバー間通信の設定を取り上げる場合、ローカル接続 よりも、 リモート接続 を指すのが一般的です。

ローカル接続 とはデータベース・マネージャー・インスタンスと、そのインスタンスで管理されるデータベースとの接続を指します。 つまり、データベース・マネージャー・インスタンスからそれ自体に対して、CONNECT ステートメントが発行されます。 ローカル接続は通信のセットアップが必要なく、IPC (プロセス間通信) が用いられるという点で特殊だと言えます。

リモート接続 では、データベースへの CONNECT ステートメントを発行しているクライアントの場所が、データベース・サーバーの置かれている場所と異なります。 一般的に、クライアントとサーバーは別々のマシン上に存在します。 ただし、クライアントとサーバーが異なるインスタンスに属す場合は、同一マシン上でのリモート接続も可能です。

もう 1 つ、まれに見られる接続のタイプとして、ループバック接続があります。 これは接続が 1 つの Db2 インスタンス (クライアント) から同じ Db2 インスタンス (サーバー) に構成されるリモート接続のタイプです。

クライアント/サーバー間通信の構成

クライアント/サーバー間接続はコマンド行ツールを使用して構成できます。コマンド行ツールはコマンド行プロセッサー (CLP) と、db2cfexp (構成エクスポート) コマンドおよび db2cfimp (構成インポート) コマンドで構成されています。

以下の表を活用して、適切な構成方法を導き出します。

表 1. クライアント/サーバー間接続を構成するためのツールと方法
構成タスクのタイプ CLP
情報を手動で入力してクライアントを構成する CATALOG TCPIP/TCPIP4/TCPIP6 NODE command および CATALOG DATABASE コマンドを使用して、クライアント/サーバー接続を構成します。
追加クライアントの構成用ベースとして、1 つのクライアントの接続設定を使用する
  1. db2cfexp コマンドを発行してクライアント・プロファイルを作成します。
  2. db2cfimp コマンドを発行してクライアント・プロファイルを用いたデータベース接続を構成します。
注: プロファイル を使用して、クライアント/サーバー間通信を構成します。 プロファイルのタイプは以下のとおりです。
  • クライアント・プロファイル はクライアントの設定値を含むファイルです。 設定値を次に示します。
    • データベース接続情報 (CLI または ODBC 設定を含む)
    • クライアント設定 (データベース・マネージャーの構成パラメーターおよび Db2 レジストリー変数を含む)
    • CLI または ODBC 共通パラメーター
  • サーバー・プロファイル はクライアント・プロファイルに類似した、サーバーの設定値を含むプロファイルです。

IBM Data Studio バージョン 3.1 以降では、 自動保守の構成にタスク・アシスタントを使用できます。 タスク・アシスタントは、オプションの設定、タスク実行のために自動生成されたコマンドの確認、およびそれらのコマンドの実行のプロセスをガイドします。 詳しくは、 タスク・アシストを使用したデータベースの管理を参照してください。