Sybase データ・ソースを統合サーバーに追加する前に、Sybase Open Client ソフトウェアを DB2 統合サーバーに インストールし、構成しておく必要があります。 Sybase Open Client ソフトウェアのインストール方法については、Sybase データベース・ソフトウェアに 付属の資料に記述されているインストール手順を参照してください。 インストール手順の一部として、カタログ・ストアード・プロシージャーと Sybase Open Client ライブラリーを 組み込むことを忘れないでください。
統合サーバーをセットアップして、Sybase データ・ソースに保管されているデータにアクセスするには:
この章では、ステップ 2 および 3 が説明されています。
この章での説明は、Windows NT、AIX、および Solaris 操作環境に適用されます。 プラットフォーム固有の違いは、その都度示されています。
Sybase データ・ソースを統合サーバーに追加するには:
上記のステップは、このセクションで詳しく説明されています。
データ・ソース環境変数を、db2dj.ini ファイルを変更し、 db2set コマンドを実行することで設定します。 db2dj.ini ファイルには、 統合サーバーにインストールされている Sybase クライアント・ソフトウェアについての構成情報があります。db2set コマンドは、DB2 プロファイル・レジストリーを あなたの設定で更新します。
区分データベース・システムでは、特定インスタンスのすべてのノードに対して 単一の db2dj.ini ファイルを使用、または 特定インスタンスの 1 つ以上のノードに対して固有の db2dj.ini ファイルを 使用することができます。 非区分データベース・システムでは、 保持できる db2dj.ini ファイルはインスタンスごとに 1 つです。
環境変数を設定するには:
SYBASE="<sybase home directory>"
ここで、<sybase home directory> は Sybase クライアントがインストールされている ディレクトリーです。
export PATH="$SYBASE/bin:$PATH" export SYBASE="<sybase home directory>"
ここで、 <sybase home directory> は Sybase クライアントがインストールされている ディレクトリーです。
. .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
説明:
Sybase データ・ソースにアクセスできるようにするには、DB2 統合サーバーが クライアント・ライブラリーにリンク・エディットされていなければなりません。 リンク・エディット処理は、統合サーバーが通信するデータ・ソースごとに ラッパーを作成します。 djxlink スクリプトを実行すると、ラッパー・ライブラリーが 作成されます。 djxlink スクリプトを実行するには:
djxlink
環境変数がプログラムに設定されていることを確実にするには、DB2 インスタンスを再生してください。 インスタンスを再生すると、変更を受け入れられるよう DB2 インスタンスはリフレッシュされます。
DB2 インスタンスを再生するには、以下のコマンドを実行します。
NET STOP instance_name NET START instance_name
db2stop db2start
interfaces ファイルを作成およびセットアップするには、そのファイルを 作成し、アクセス可能にしなければなりません。
Windows NT では通常、このファイルの名前は sql.ini になります。 すべてのプラットフォームに共通の名前にするには、 作成したファイルの名前を sql.ini から interfaces に 変更してください。 名前を sql.ini から interfaces に 変更しない場合、IFILE パラメーター、またはステップ 8 で説明されている CONNECTSTRING オプションを 使用しなければなりません。
AIX および Solaris システムの場合、このファイルの名前は <instance home>/sqllib/interfaces になります。
ln -s -f /home/sybase/interfaces /home/db2djinst1/sqllib
CREATE WRAPPER ステートメントを使用して、Sybase データ・ソースへのアクセスに 使用されるラッパーを指定します。 ラッパーとは、データ・ソースとの通信およびデータ・ソースからの データ検索に統合サーバーが使用するメカニズムのことです。 DB2 には、Sybase 用の 2 つのラッパー CTLIB と DBLIB があります。 CREATE WRAPPER ステートメントの例:
CREATE WRAPPER CTLIB
ここで CTLIB は、 Sybase Open Client ソフトウェアで使用されるデフォルト・ラッパー名です。 CTLIB ラッパーは Windows NT、AIX、および Solaris サーバーで使用できます。
デフォルト・ラッパー名は、選択した名前で置換することができます。 ただし、これを行う場合、LIBRARY パラメーターおよび統合サーバーのラッパー・ ライブラリー名も CREATE WRAPPER ステートメントに組み込まなければなりません。 ラッパー・ライブラリー名について詳しくは、 「DB2 SQL 解説書」 で CREATE WRAPPER ステートメントを調べてください。
Sybase データ・ソースにアクセスしているときのパフォーマンスを向上させるには、 DB2_DJ_COMM 環境変数を設定してください。 この変数は、統合サーバーが初期設定されるときにラッパーをロードするかどうかを 決定します。 DB2_DJ_COMM 環境変数を設定して、前のステップで指定したラッパーに対応する ラッパー・ライブラリーを組み込みます。例:
db2set DB2_DJ_COMM='ctlib.dll'
db2set DB2_DJ_COMM='libctlib.a'
db2set DB2_DJ_COMM='libctlib.so'
等号 (=) の両端にスペースがないことを確認します。
ラッパー・ライブラリー名について詳しくは、 「DB2 SQL 解説書」を 参照してください。 DB2_DJ_COMM 環境変数について詳しくは、 「管理の手引き」を 参照してください。
CREATE SERVER ステートメントを使用して、アクセスしたいデータ・ソースを持つ Sybase サーバーを それぞれ定義します。例:
CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB OPTIONS (NODE 'sybnode', DBNAME'sybdb')
説明:
ノードの名前がオプションとして指定されていても、 Sybase データ・ソースにはノード名が必要です。 その他のオプションの詳細については、「DB2 SQL 解説書」を参照してください。
タイムアウトしきい値、interfaces ファイルのパスと名前、および interfaces ファイルの パケット・サイズを指定します。 Sybase Open Client は、タイムアウトしきい値を使用して、長期間実行される照会および 応答に割り込みます。 CREATE SERVER OPTION DDL ステートメントの CONNECTSTRING オプションを 使用して、このしきい値を DB2 に設定することができます。 CONNECTSTRING オプションで、以下の項目を指定します。
.-;----------------------------------. V | >>----+------------------------------+--+---------------------->< +-TIMEOUT-- = --seconds--------+ +-LOGIN_TIMEOUT-- = --seconds--+ +-IFILE-- = --"string"---------+ +-PACKET_SIZE-- = --bytes------+ '-;----------------------------'
例
Windows NT サーバーで、タイムアウト値を 60 秒に設定し、 interfaces ファイルを C:\etc\interfaces に設定するには、 以下のステートメントを使用します。
CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces";'
AIX および Solaris サーバーで、タイムアウト値を 60 秒に設定し、 interfaces ファイルを /etc/interfaces に設定するには、 以下のステートメントを使用します。
CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces";'
統合サーバーのユーザー ID またはパスワードが Sybase データ・ソースのユーザー ID または パスワードと異なる場合、CREATE USER MAPPING ステートメントを使用して、Sybase データ・ソースで 定義されたユーザー ID とパスワードにローカル・ユーザー ID をマップします。 例:
CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER OPTIONS ( REMOTE_AUTHID 'sybuser', REMOTE_PASSWORD 'dayl1te')
説明:
その他のオプションの詳細については、 「DB2 SQL 解説書」を 参照してください。
Sybase データ・ソースにある視点または表ごとにニックネームを割り当てます。 Sybase データ・ソースを照会するとき、これらのニックネームを使用します。 Sybase ニックネームでは、大文字小文字が区別されます。 スキーマ名と表名はどちらも二重引用符 (") で囲んでください。 CREATE NICKNAME ステートメントの例:
CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe"
説明:
data_source_name."remote_schema_name"."remote_table_name"
ニックネームを作成したい表または視点ごとに、このステップを繰り返してください。 ニックネームが作成されると、DB2 は接続を使用してデータ・ソース・カタログを照会します。 この照会によって、データ・ソースへの接続がテストされます。 接続が失敗した場合、エラー・メッセージが表示されます。
CREATE NICKNAME ステートメントの詳細については、 「DB2 SQL 解説書」を 参照してください。 一般的なニックネームの詳細、およびデータ・タイプ・マッピングの検証については、 「DB2 管理の手引き」を 参照してください。
このステップは、DB2 統合サーバーと Sybase サーバーが異なるコード・ページを
使用している場合のみ必須です。
DB2 と同じコード・セットを使用しているデータ・ソースでは、変換は必要ありません。
以下の表は、NLS (各国語サポート) の共通コード・ページと
同等の Sybase オプションを示しています。
Sybase データ・ソースが、これらの同等の値に対応するよう構成されている必要があります。
あるいは、クライアント・コードが一致しない部分を見つけ、エラーとしてフラグを立てるか、
データ自体の意味を使用してデータをマップすることができなければなりません。
ソース・コード・ページからターゲット・コード・ページへの変換表が見つからない場合、
DB2 はエラー・メッセージを出します。
詳しくは、Sybase の資料を参照してください。
コード・ページ | 同等の Sybase オプション |
---|---|
850 | cp850 |
897 | sjis |
| iso_1 |
912 | iso_2 |
1089 | iso_6 |
813 | iso_7 |
916 | iso_8 |
920 | iso_9 |