||Sybase データ・ソースを統合サーバーに追加する前に、Sybase Open Client ソフトウェアを DB2 統合サーバーに |インストールし、構成しておく必要があります。 |Sybase Open Client ソフトウェアのインストール方法については、Sybase データベース・ソフトウェアに |付属の資料に記述されているインストール手順を参照してください。 |インストール手順の一部として、Sybase カタログ・ストアード・プロシージャーが Sybase サーバー |にインストールされていて、Sybase Open Client ライブラリーが DB2 統合サーバーに |インストールされていることを確認してください。
|クライアント・ソフトウェアから Sybase サーバーへの接続の構成の後に、 |Sybase ツールのいずれかを使用して接続のテストを行います。UNIX の場合は isql ツールを、 |Windows の場合は SQL Advantage ツールを使用します。
|統合サーバーをセットアップして、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 クライアントがインストールされている |ディレクトリーです。
|非区分データベース・システムで db2dj.ini ファイルを |使用しているか、db2dj.ini ファイルを現行ノードにだけ適用する場合、 |次のコマンドを発行します。
|db2set DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini
|区分データベース・システムで db2dj.ini ファイルを |使用していて、db2dj.ini ファイルの値をこのインスタンス内の |すべてのノードに適用する場合、次のコマンドを実行します。
|db2set -g DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini
|区分データベース・システムで db2dj.ini ファイルを使用していて、 |db2dj.ini ファイルの値を特定ノードに適用したい場合、 |次を実行します。
|db2set -i INSTANCEX 3 DB2_DJ_INI=$HOME/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='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 'day2night')
|説明:
|その他のオプションの詳細については、 |「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 |
819 | iso_1 |
912 | iso_2 |
1089 | iso_6 |
813 | iso_7 |
916 | iso_8 |
920 | iso_9 |