Informix データ・ソースを DB2 統合サーバーに追加する前に、Informix クライアント SDK ソフトウェアを統合サーバーにインストールして構成しておく必要があります。クライアント SDK ソフトウェアのインストール方法に関する特定の事柄の詳細は、Informix データベース・ソフトウェアに付属の資料に記載されているインストール手順を参照してください。インストール手順の一部として、Informix クライアント SDK ライブラリーを組み込むことを忘れないでください。
Informix データ・ソースに保管されているデータにアクセスできるように統合サーバーをセットアップするには :
この章では、ステップ 3 について説明しています。
この章での説明は、AIX、Solaris 操作環境、および HP-UX オペレーティング・システムに適用されます。オペレーティング・システム固有の違いは、そのつど示されています。
Informix データ・ソースを統合サーバーに追加するには :
上記のステップは、このセクションで詳しく説明されています。
データ・ソース環境変数を、db2dj.ini ファイルを変更し、 db2set コマンドを実行することで設定します。 db2dj.ini ファイルには、統合サーバーにインストールされている Informix クライアント・ソフトウェアについての構成情報が含まれています。db2set コマンドは、DB2 プロファイル・レジストリーをあなたの設定で更新します。
区分データベース・システムでは、特定インスタンスのすべてのノードに対して単一の db2dj.ini ファイルを使用、または特定インスタンスの 1 つ以上のノードに対して固有の db2dj.ini ファイルを使用することができます。非区分データベース・システムでは、保持できる db2dj.ini ファイルはインスタンスごとに 1 つです。
環境変数を設定するには:
INFORMIXDIR 環境変数には、Informix クライアント SDK ソフトウェアがインストールされているディレクトリーのパスを設定します。例:
|INFORMIXDIR=/informix/csdk
この変数により、デフォルトの Informix サーバーの名前が識別されます。
|INFORMIXSERVER=inf93 |
注 : Informix ラッパーはこの変数の値を使用しませんが、Informix クライアントはこの変数が設定されていることを必要とします。ラッパーは、ユーザーがアクセスする Informix データベース・サーバーを指定する node サーバー・オプションの値を使用します。
Informix sqlhosts ファイルのデフォルトのパス ($INFORMIXDIR/etc/sqlhosts) を使用している場合は、この変数を設定する必要はありません。しかし、Informix sqlhosts ファイルについてデフォルト以外のパスを使用している場合は、この変数に Informix sqlhosts ファイルの全パス名を設定する必要があります。例:
|INFORMIXSQLHOSTS=/informix/csdk/etc/my_sqlhosts |
PATH=$INFORMIXDIR/bin:$PATH export PATH INFORMIXDIR=<informix_client_path> export INFORMIXDIR
ここで informix_client_path は、統合サーバー上で Informix クライアントがインストールされているディレクトリーのパスです。パス内にブランクを含んでいる名前がある場合は、パスを二重引用符 (") で囲んでください。
. .profile
非区分データベース・システムで db2dj.ini ファイルを使用しているか、db2dj.ini ファイルを現行ノードにだけ適用する場合、次のコマンドを発行します。
db2set DB2_DJ_INI=sqllib/cfg/db2dj.ini
区分データベース・システムで db2dj.ini ファイルを使用していて、db2dj.ini ファイルの値をこのインスタンス内のすべてのノードに適用したい場合は、次のコマンドを発行します。
db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini
区分データベース・システムで db2dj.ini ファイルを使用していて、 db2dj.ini ファイルの値を特定ノードに適用したい場合、次を実行します。
db2set -i INSTANCEX 3 DB2_DJ_INI=sqllib/cfg/node3.ini
説明:
Informix データ・ソースにアクセスできるようにするためには、DB2 統合サーバーがクライアント・ライブラリーにリンク・エディットされている必要があります。リンク・エディット処理では、統合サーバーが通信するデータ・ソースごとにラッパー・ライブラリーが作成されます。 djxlinkInformix スクリプトを実行すると、Informix ラッパー・ライブラリーが作成されます。 djxlinkInformix スクリプトを発行するには、次のように入力します。
djxlinkInformix
|djxlinkInformix スクリプトによって |作成されるのは Informix ラッパー・ライブラリーだけです。 |他に djxlink スクリプトというスクリプトがあり、これは DB2 ユニバーサル・データベースが |サポートするあらゆるデータ・ソース (Oracle、 |Microsoft SQL Server など) |のラッパー・ライブラリーを作成しようと試みます。一部のデータ・ソース用の |クライアント・ソフトウェアしかインストールしていない場合は、 |djxlink スクリプトを発行すると、欠落しているデータ・ソースごとに |エラー・メッセージを受け取ります。
|djxlinkInformix および djxlink スクリプトを実行するには、UNIX システム管理者 (root) 権限が必要です。
|オペレーティング・システムによっては、djxlinkInformix および djxlink スクリプトにより |詳細なエラーや警告メッセージが特定のファイルに書き込まれます。 たとえば、AIX の場合、djxlinkInformix スクリプトにより /usr/lpp/db2_07_01/lib/djxlinkInformix.out へ、djxlink スクリプトにより | /usr/lpp/db2_07_01/lib/djxlink.out へ書き込まれます。
|オペレーティング・システムによっては、djxlinkInformix および djxlink スクリプトにより |特定のディレクトリーにラッパーが作成されます。たとえば、AIX の場合、libinformix.a |ラッパー・ライブラリーが /usr/lpp/db2_07_01/lib ディレクトリーに作成されます。
|libinformix.a ラッパー・ライブラリーが作成されたら、 |DB2 インスタンス所有者による読み取り、実行の許可があるかどうか確認してください。DB2 インスタンス所有者がシステム・グループにない場合は、 |libinformix.a ラッパー・ライブラリーに対して -rwxr-xr-x |root system...libinformix.a が許可される必要があります。 |
環境変数がプログラムに設定されていることを確実にするには、DB2 インスタンスを再生してください。インスタンスを再生すると、変更を受け入れられるよう DB2 インスタンスはリフレッシュされます。
DB2 インスタンスを再生するには、以下のコマンドを実行します。
db2stop db2start
|このファイルは、各 Informix データベース・サーバーのロケーションと、その |データベース・サーバー用の接続 (プロトコル) のタイプを指定します。 |このファイルを作成するいくつかの方法があります。 |Informix サーバーに接続されている Informix Connect |または Informix クライアント SDK が入っている別のシステムから |コピーすることができます。また、DB2 サーバー上の Informix クライアント SDK を、 |sqlhosts ファイルを作成する Informix サーバーに接続するよう構成することもできます。
|sqlhosts ファイルがコピーまたは作成されたら、DB2 インスタンス所有者は |Informix dbaccess (DB2 サーバー上にある場合) を使用して Informix サーバーへの |接続、照会を行う必要があります。これにより、Informix クライアント SDK で作業するために |DB2 リレーショナル・コネクトを構成する前に、Informix クライアント SDK が |Informix サーバーに接続することができるようになります。
|このファイルのセットアップ方法についての詳細は、Informix の |マニュアル「Administrators Guide for Informix Dynamic Server 」を参照してください。
警告 : |
---|
Informix データベース・サーバーの名前を sqlhosts ファイル内に定義していないと、その Informix データベース・サーバーへの接続が必要な操作の実行時にエラーを受け取ります。 |
CREATE WRAPPER ステートメントを使用して、Informix データ・ソースへのアクセスに使用されるラッパーを指定します。ラッパーとは、データ・ソースとの通信およびデータ・ソースからのデータ検索に統合サーバーが使用するメカニズムのことです。 CREATE WRAPPER ステートメントの例:
CREATE WRAPPER informix
ここで、informix は wrapper_name です。informix は、Informix クライアント SDK ソフトウェアで使用されるデフォルトのラッパー名です。
デフォルト・ラッパー名は、選択した名前で置換することができます。ただし、これを行う場合、LIBRARY パラメーターおよび統合サーバーのラッパー・ライブラリー名も CREATE WRAPPER ステートメントに組み込まなければなりません。ラッパー・ライブラリー名についての詳細は、「DB2 SQL 解説書 」の CREATE WRAPPER ステートメントを参照してください。
Informix 用のラッパー・ライブラリー名は次の通りです。
Informix データ・ソースへのアクセス時におけるパフォーマンスを向上させるには、統合サーバー上で DB2_DJ_COMM 環境変数を設定します。この変数により、統合サーバーの初期化時にラッパーがロードされるかどうかが決まります。直前のステップで指定したラッパーに対応するラッパー・ライブラリーが組み込まれるように DB2_DJ_COMM 環境変数を設定します。Korn シェルまたは Bourne シェル・コマンド行インターフェースを使用している場合は、次のエクスポート・コマンドを使用してください。
DB2_DJ_COMM='libinformix.a' export DB2_DJ_COMM
DB2_DJ_COMM='libinformix.so' export DB2_DJ_COMM
DB2_DJ_COMM='libinformix.sl' export DB2_DJ_COMM
等号 (=) の両端にスペースがないことを確認します。
C シェル・コマンド行・インターフェースを使用している場合は、次のコマンドを使用して環境変数を設定してください。
setenv DB2_DJ_COMM 'libinformix.a' (DB2 (AIX サーバー版)) setenv DB2_DJ_COMM 'libinformix.so' (DB2 (Solaris 環境サーバー版)) setenv DB2_DJ_COMM 'libinformix.sl' (DB2 (HP--UX サーバー版))
ラッパー・ライブラリー名および DB2_DJ_COMM 環境変数についての詳細は、「DB2 SQL 解説書 」を参照してください。
CREATE SERVER ステートメントを使用して、アクセスしたいデータ・ソースを持つ Informix サーバーをそれぞれ定義します。このステートメントの構文は次の通りです。
CREATE SERVER server_name TYPE server_type VERSION server_version WRAPPER wrapper_name OPTIONS (NODE 'node_name', DBNAME 'database_name')
説明:
|
CREATE SERVER ステートメントの例:
CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'sales')
FOLD_ID および FOLD_PW サーバー・オプションは、ラッパーがユーザー ID とパスワードを Informix への送信に先立って英大文字または小文字に変換するかどうかに影響します。 FOLD_ID および FOLD_PW サーバー・オプションを指定した CREATE SERVER ステートメントの例:
CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'sales', FOLD_ID 'U', FOLD_PW 'U')
DB2 統合サーバー上のユーザー ID またはパスワードが Informix データ・ソース上のユーザー ID またはパスワードと異なる場合は、CREATE USER MAPPING ステートメントを使用して、ローカル・ユーザー ID を Informix データ・ソース上で定義されているユーザー ID とパスワードにマップします。例:
CREATE USER MAPPING FOR local_userid SERVER server_name OPTIONS (REMOTE_AUTHID 'remode_userid', REMOTE_PASSWORD 'remote_password')
説明:
CREATE USER MAPPING ステートメントの例:
CREATE USER MAPPING FOR robert SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night')
DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントの発行者の許可 ID を REMOTE_AUTHID ユーザー・オプションで指定されているデータ・ソース許可 ID にマップできます。 USER 特殊レジスターが組み込まれている CREATE USER MAPPING ステートメントの例:
CREATE USER MAPPING FOR USER SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night')
その他のオプションの詳細については、「DB2 SQL 解説書」を参照してください。
Informix データ・ソース上にある表、視点、または Informix 同義語ごとにニックネームを割り当てます。ニックネームの長さは 128 文字までが可能です。これらのニックネームは、Informix データ・ソースを照会するときに使用します。サーバー、スキーマ、および表の名前は、二重引用符 (") で囲まないかぎり、DB2 によって英大文字に変換されます。 CREATE NICKNAME ステートメントの例:
CREATE NICKNAME nickname FOR server_name."remote_schema_name"."remote_table_name"
説明:
CREATE NICKNAME ステートメントの例:
CREATE NICKNAME salesjapan FOR asia."salesdata"."japan"
ニックネームを作成したい表または視点ごとに、このステップを繰り返してください。ニックネームが作成されると、DB2 は接続を使用してデータ・ソース・カタログを照会します。この照会によって、データ・ソースへの接続がテストされます。接続が失敗した場合、エラー・メッセージが表示されます。
CREATE NICKNAME ステートメントの詳細については、「DB2 SQL 解説書」を参照してください。一般的なニックネームの詳細、およびデータ・タイプ・マッピングの検証については、「DB2 管理の手引き」を参照してください。