このセクションでは、TCP/IP が クライアントおよびサーバー・ワークステーションで機能していることを想定しています。 個々のプラットフォームでの通信プロトコル要件の詳細については、 ソフトウェア要件を参照してください。 特定のクライアントおよびサーバーでサポートされている通信プロトコルの詳細については、 クライアント - サーバー間の接続の想定シナリオを参照してください。
TCP/IP 通信を DB2 クライアントでセットアップするには、以下のステップを実行します。
ステップ 1. | パラメーター値を識別して記録します。 |
ステップ 2. | 次のようにクライアントを構成します。
|
ステップ 3. | クライアントとサーバーとの間に確立された接続をテストします。
|
構成ステップを進めるにつれて、
次の表内の「使用値 (Your Value)」列に記入を済ませます。
このプロトコルの構成を始める前に、値の一部を記入することができます。
パラメーター | 説明 | サンプル値 | 使用値 |
---|---|---|---|
ホスト名
|
リモート・サーバー・ワークステーションの hostname または ip_address を使用します。
このパラメーターを解決するには、次のようにします。
|
serverhost
または
9.21.15.235
| |
サービス名
|
サービス・ファイルに必要な値。
接続サービス名は、 サーバーでの接続ポート番号 (port_number) を 表す任意のローカル名です。
ポート番号は、 サーバーの services ファイルにある svcename パラメーターがマップしているポート番号と 同じでなければなりません。 (svcename パラメーターは、 サーバーのデータベース・マネージャー構成ファイルにあります。) この値は、他のアプリケーションで使用されていてはならず、 サービス・ファイル内で固有でなければなりません。
サーバーを構成するのに使用される値については、データベース管理者に問い合わせてください。
|
server1
3700/tcp
| |
ノード名 (node_name) |
接続を確立しようと試みているノードを記述するローカル別名またはニックネーム。
任意の名前を選択することができますが、
ローカル・ノード・ディレクトリー内のノード名値はそれぞれ固有でなければなりません。
| db2node |
以下のステップを実行すると、 クライアントが TCP/IP を使用してサーバーと通信できるように構成します。 サンプル値を各自のワークシート値に置換してください。
![]() |
ユーザーのネットワークにネーム・サーバーがある場合、
またはサーバーの IP アドレス (ip_address) を直接指定しようと
している場合には、このステップを飛ばして、ステップ B. サービス・ファイルの更新 に進んでください。
|
クライアントは、通信を確立しようとするサーバーの IP アドレスを 認識しなければなりません。 ネーム・サーバーがネットワークに存在しない場合には、 ローカル・ホスト・ファイル内のサーバーの IP アドレス (ip_address) にマップするホスト名を直接指定することができます。 プラットフォームごとのホスト・ファイルのロケーションについては、 表 10 を参照してください。
ネットワーク情報サービス (NIS) を使用する UNIX クライアントをサポートすることを計画していて、
ご使用のネットワークでネーム・サーバーを使用していない場合には、
NIS マスター・サーバーにあるホスト・ファイルを更新しなければなりません。
表 10. ローカル・ホストとサービス・ファイルのロケーション
プラットフォーム | ロケーション |
---|---|
OS/2 | etc 環境変数により指定されます。 set etc コマンドを入力して、 ローカル・ホスト または サービス・ファイルのロケーションを判別します。 |
Windows NT または Windows 2000 | winnt\system32\drivers\etc ディレクトリーにあります。 |
Windows 9x | windows ディレクトリーにあります。 |
UNIX | /etc ディレクトリーにあります。 |
クライアントのホスト・ファイルを編集して、 サーバーのホスト名のためのエントリーを追加します。 たとえば、次のようにします。
9.21.15.235 serverhost # host address for serverhost
ここで、
サーバーがクライアントと同じドメインにない場合には、 serverhost.vnet.ibm.com のような完全に修飾されたドメイン名を 提供しなければなりません (vnet.ibm.com はドメイン名)。
![]() |
ポート番号 (port_number) を使用して
TCP/IP ノードをカタログ化しようとしている場合には、このステップを飛ばして、
ステップ C. TCP/IP ノードのカタログ化に進んでください。
|
ローカル・テキスト・エディターを使用して、 TCP/IP サポートのクライアントのサービス・ ファイルに、接続サービス名およびポート番号を追加します。 たとえば、次のようにします。
server1 3700/tcp # DB2 connection service port
ここで、
ネットワーク情報サービス (NIS) を使用する UNIX クライアントをサポートすることを計画している場合には、NIS マスター・サーバーにあるサービス・ファイルを更新しなければなりません。
サービス・ファイルは、ローカルの hosts ファイル (A. サーバーのホスト・アドレスの解決で編集したもの) と同じディレクトリーにあります。
プラットフォームごとのサービス・ファイルのロケーションについては、 表 10 を参照してください。
リモート・ノードを記述するため、 クライアントのノード・ディレクトリーに項目を追加しなければなりません。 この記入項目では、クライアントがリモート・サーバーにアクセスするときに使用する、 別名 (node_name)、hostname (または ip_address)、 および svcename (または port_number) を指定します。
TCP/IP ノードをカタログ化するには、以下のステップを実行します。
ステップ 1. | 有効な DB2 ユーザー ID を使用してシステムにログオンします。 詳しくは、付録 F, 命名規則を参照してください。
| ||
ステップ 2. | UNIX クライアントを使用する場合は、 次のように始動スクリプトを実行します。 . INSTHOME/sqllib/db2profile (bash、Bourne、または Korn シェルの場合) source INSTHOME/sqllib/db2cshrc (C シェルの場合) ここで、INSTHOME は、インスタンスのホーム・ディレクトリーです。 | ||
ステップ 3. | 次のコマンドを入力してノードをカタログ化します。 db2 "catalog tcpip node node_name remote [hostname|ip_address] server [svcename|port_number]" db2 terminate たとえば、サービス名 server1 を使用して、 db2node というノードでリモート・サーバー serverhost をカタログ化するには、次のように入力します。 db2 catalog tcpip node db2node remote serverhost server server1 db2 terminate たとえば、ポート番号 3700 を使用して、db2node というノードに IP アドレス 9.21.15.235 でリモート・サーバーをカタログ化するには、 次のように入力します。 db2 catalog tcpip node db2node remote 9.21.15.235 server 3700 db2 terminate
|
![]() | catalog node
コマンドを使って設定した値を変更する必要がある場合は、以下のステップを実行します。
|
クライアント・アプリケーションからリモート・データベースにアクセスできるようにするには、 サーバー・ノードと、そのサーバーに接続される任意のクライアント・ノードで、 そのデータベースをカタログ化しなければなりません。 デフォルトでは、データベースを作成すると、そのデータベースは、 データベース名 (database_name) と同じデータベース別名 (database_alias) を使ってサーバーで自動的にカタログ化されます。 データベース・ディレクトリー内の情報に加え、 ノード・ディレクトリー内の情報がクライアントで使用されて、 リモート・データベースへの接続が設定されます。
データベースをクライアントでカタログ化するには、次に示すステップを実行します。
ステップ 1. | 有効な DB2 ユーザー ID を使用してシステムにログオンします。 詳しくは、付録 F, 命名規則を参照してください。
| ||||||
ステップ 2. | 次に示すワークシートの「使用値 (Your Value)」に記入します。
表 11. ワークシート: データベースをカタログ化するためのパラメーター値 | ||||||
ステップ 3. | UNIX クライアントを使用する場合は、 次のように始動スクリプトを実行します。
. INSTHOME/sqllib/db2profile (bash、Bourne、または Korn シェルの場合) source INSTHOME/sqllib/db2cshrc (C シェルの場合) ここで、INSTHOME はインスタンスのホーム・ディレクトリーを表します。 | ||||||
ステップ 4. | データベースをカタログ化するには、次のコマンドを入力します。
db2 catalog database database_name as database_alias at node node_name db2 terminate たとえば、ノード db2node で、 sample という名前のリモート・データベースをカタログ化して、 別名 tor1 を付けるには、次のコマンドを入力します。
db2 catalog database sample as tor1 at node db2node db2 terminate
|
通信用のクライアントの構成が終わったら、 リモート・データベースに接続して接続をテストする必要があります。
ステップ 1. | データベース・マネージャーを始動するには、 サーバーで db2start コマンドを入力します (ブート時に自動的に始動していない場合)。 |
ステップ 2. | UNIX クライアントを使用している場合には、 次のようにして始動スクリプトを実行します。 . INSTHOME/sqllib/db2profile (Bash、Bourne、または Korn シェルの場合) source INSTHOME/sqllib/db2cshrc (C シェルの場合) ここで、INSTHOME はインスタンスのホーム・ディレクトリーです。 |
ステップ 3. | クライアントに次のようなコマンドを入力し、 クライアントをリモート・データベースに接続します。 db2 connect to database_alias user userid using password
|
userid および password の値は、 この 2 つが認証されるシステムで有効なものでなければなりません。 デフォルトでは、認証は DB2 サーバー用のサーバーや、 DB2 コネクト・サーバー用のホストまたは AS/400 マシンで行われます。
接続が正常に完了したら、接続先のデータベースの名前を示したメッセージが表示されます。 これで、そのデータベースからデータを取り出すことができます。 たとえば、システム・カタログ表にリストされているすべての表名のリストを取り出したい場合、 次のような SQL コマンドをコマンド・センターまたは CLP に入力します。
"select tabname from syscat.tables"
データベース接続の使用が終わったら、command reset コマンドを入力してデータベース接続を終了します。
接続が失敗した場合、次のような項目を検査します。
サーバーで:
![]() |
db2set DB2COMM コマンドを入力して、
db2comm レジストリーの設定値を検査します。
詳細については、
管理の手引き を参照してください。
|
![]() | プロトコルの接続マネージャーに開始時に問題が発生すると、
警告メッセージが表示され、
UNIX プラットフォームでは INSTHOME/sqllib/db2dump ディレクトリーにある db2diag.log ファイルに、
非 UNIX プラットフォームでは x:\sqllib\db2dump ディレクトリーにある db2diag.log ファイルにエラー・メッセージが記録されます。
db2diag.log ファイルの詳細については、 問題判別の手引き を参照してください。 |
クライアントで:
これらの項目を確認した後でまだ接続が失敗する場合は、 問題判別の手引き を参照してください。