リリース情報


5.5 Sybase データ・ソースへのアクセス (新しい章)

Sybase データ・ソースを統合サーバーに追加する前に、Sybase Open Client ソフトウェアを DB2 統合サーバーに インストールし、構成しておく必要があります。 Sybase Open Client ソフトウェアのインストール方法については、Sybase データベース・ソフトウェアに 付属の資料に記述されているインストール手順を参照してください。 インストール手順の一部として、カタログ・ストアード・プロシージャーと Sybase Open Client ライブラリーを 組み込むことを忘れないでください。

統合サーバーをセットアップして、Sybase データ・ソースに保管されているデータにアクセスするには:

  1. DB2 リレーショナル・コネクト バージョン 7.2 をインストールします。 「5.3.2, DB2 リレーショナル・コネクトのインストール」を参照してください。
  2. Sybase データ・ソースを統合サーバーに追加します。
  3. Sybase コード・ページを指定します。

この章では、ステップ 2 および 3 が説明されています。

この章での説明は、Windows NT、AIX、および Solaris 操作環境に適用されます。 プラットフォーム固有の違いは、その都度示されています。

5.5.1 統合サーバーへの Sybase データ・ソースの追加

Sybase データ・ソースを統合サーバーに追加するには:

  1. 環境変数を設定し、プロファイル・レジストリーを更新します。
  2. DB2 を Sybase クライアント・ソフトウェアにリンクします。(AIX および Solaris の場合のみ)
  3. DB2 インスタンスを再生します。
  4. interfaces ファイルを作成し、セットアップします。
  5. ラッパーを作成します。
  6. オプション: DB2_DJ_COMM 環境変数を設定します。
  7. サーバーを作成します。
  8. オプション: CONNECTSTRING サーバー・オプションを設定します。
  9. ユーザー・マッピングを作成します。
  10. 表および視点のニックネームを作成します。

上記のステップは、このセクションで詳しく説明されています。

5.5.1.1 ステップ 1: 環境変数の設定およびプロファイル・レジストリーの更新

データ・ソース環境変数を、db2dj.ini ファイルを変更し、 db2set コマンドを実行することで設定します。 db2dj.ini ファイルには、 統合サーバーにインストールされている Sybase クライアント・ソフトウェアについての構成情報があります。db2set コマンドは、DB2 プロファイル・レジストリーを あなたの設定で更新します。

区分データベース・システムでは、特定インスタンスのすべてのノードに対して 単一の db2dj.ini ファイルを使用、または 特定インスタンスの 1 つ以上のノードに対して固有の db2dj.ini ファイルを 使用することができます。 非区分データベース・システムでは、 保持できる db2dj.ini ファイルはインスタンスごとに 1 つです。

環境変数を設定するには:

  1. sqllib/cfg にある db2dj.ini ファイルを 編集し、次の環境変数を設定します。
     SYBASE="<sybase home directory>"
     
    

    ここで、<sybase home directory> は Sybase クライアントがインストールされている ディレクトリーです。

  2. Sybase 環境変数を使用して、DB2 インスタンスの .profile ファイルを 更新します。 次のコマンドを出すことによって、これを行います。
    export PATH="$SYBASE/bin:$PATH"
    export SYBASE="<sybase home directory>"
    

    ここで、 <sybase home directory> は Sybase クライアントがインストールされている ディレクトリーです。

  3. 次のコマンドを入力して、DB2 インスタンス .profile を実行します。
    . .profile
    
  4. db2set コマンドを実行して、DB2 プロファイル・レジストリーに 変更を適用します。 このコマンド db2set の構文は、使用しているデータベース・システムによって 異なります。 このステップは、以下のデータベース・システム構造のいずれかで db2dj.ini ファイルを使用している場合のみ必要です。

    非区分データベース・システムで 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 
    

    説明:

    INSTANCEX
    インスタンスの名前です。

    3
    db2nodes.cfg ファイルにリストされているノード番号です。

    node3.ini
    内容と名前が変更されたバージョンの db2dj.ini ファイルです。

5.5.1.2 ステップ 2: Sybase クライアント・ソフトウェアへの DB2 のリンク (AIX および Solaris の場合のみ)

Sybase データ・ソースにアクセスできるようにするには、DB2 統合サーバーが クライアント・ライブラリーにリンク・エディットされていなければなりません。 リンク・エディット処理は、統合サーバーが通信するデータ・ソースごとに ラッパーを作成します。 djxlink スクリプトを実行すると、ラッパー・ライブラリーが 作成されます。 djxlink スクリプトを実行するには:

djxlink

5.5.1.3 ステップ 3: DB2 インスタンスの再生

環境変数がプログラムに設定されていることを確実にするには、DB2 インスタンスを再生してください。 インスタンスを再生すると、変更を受け入れられるよう DB2 インスタンスはリフレッシュされます。

DB2 インスタンスを再生するには、以下のコマンドを実行します。

DB2 (Windows NT サーバー版) の場合:
NET STOP instance_name
NET START instance_name

DB2 (AIX および Solaris サーバー版) の場合:
db2stop
db2start

5.5.1.4 ステップ 4: interfaces ファイルの作成およびセットアップ

interfaces ファイルを作成およびセットアップするには、そのファイルを 作成し、アクセス可能にしなければなりません。

  1. Sybase 提供のユーティリティーを使用して、アクセスしたいすべての Sybase Open Server の データを含む interfaces ファイルを作成します。 このユーティリティーの使用法については、Sybase のインストール資料を参照してください。

    Windows NT では通常、このファイルの名前は sql.ini になります。 すべてのプラットフォームに共通の名前にするには、 作成したファイルの名前を sql.ini から interfaces に 変更してください。 名前を sql.ini から interfaces に 変更しない場合、IFILE パラメーター、またはステップ 8 で説明されている CONNECTSTRING オプションを 使用しなければなりません。

    AIX および Solaris システムの場合、このファイルの名前は <instance home>/sqllib/interfaces になります。

  2. この interfaces ファイルを、DB2 にアクセス可能にします。

    DB2 (Windows NT サーバー版) の場合:
    このファイルを DB2 インスタンスの %DB2PATH% ディレクトリーに置きます。

    DB2 (AIX および Solaris サーバー版) の場合:
    このファイルを DB2 インスタンスの $HOME/sqllib ディレクトリーに 置きます。 ln コマンドを使用して、 DB2 インスタンスの $HOME/sqllib ディレクトリーから そのファイルにリンクします。 例:
    ln -s -f /home/sybase/interfaces  /home/db2djinst1/sqllib
    

5.5.1.5 ステップ 5: ラッパーの作成

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 ステートメントを調べてください。

5.5.1.6 ステップ 6: オプション: DB2_DJ_COMM 環境変数の設定

Sybase データ・ソースにアクセスしているときのパフォーマンスを向上させるには、 DB2_DJ_COMM 環境変数を設定してください。 この変数は、統合サーバーが初期設定されるときにラッパーをロードするかどうかを 決定します。 DB2_DJ_COMM 環境変数を設定して、前のステップで指定したラッパーに対応する ラッパー・ライブラリーを組み込みます。例:

DB2 (Windows NT サーバー版) の場合:
db2set DB2_DJ_COMM='ctlib.dll'

DB2 (AIX サーバー版) の場合:
db2set DB2_DJ_COMM='libctlib.a' 

DB2 (Solaris サーバー版) の場合:
db2set DB2_DJ_COMM='libctlib.so' 

等号 (=) の両端にスペースがないことを確認します。

ラッパー・ライブラリー名について詳しくは、 「DB2 SQL 解説書」を 参照してください。 DB2_DJ_COMM 環境変数について詳しくは、 「管理の手引き」を 参照してください。

5.5.1.7 ステップ 7: サーバーの作成

CREATE SERVER ステートメントを使用して、アクセスしたいデータ・ソースを持つ Sybase サーバーを それぞれ定義します。例:

CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB
OPTIONS (NODE 'sybnode', DBNAME'sybdb')

説明:

SYBSERVER
Sybase サーバーに割り当てる名前です。 この名前は固有でなければなりません。

SYBASE
アクセスを構成するデータ・ソースのタイプです。 サポートされているデータ・ソースは Sybase のみです。

12.0
アクセスする Sybase のバージョンです。 サポートされているバージョンは 10.0、11.0、11.1、11.5、11.9、および 12.0 です。

CTLIB
CREATE WRAPPER ステートメントで指定したラッパー名です。

'sybnode'
SYBSERVER があるノードの名前です。 interfaces ファイルからノードの値を取得してください。 この値では、大文字小文字が区別されます。

ノードの名前がオプションとして指定されていても、 Sybase データ・ソースにはノード名が必要です。 その他のオプションの詳細については、「DB2 SQL 解説書」を参照してください。

'sybdb'
アクセスしたい Sybase データベースの名前です。

5.5.1.8 オプション: ステップ 8: CONNECTSTRING サーバー・オプションの設定

タイムアウトしきい値、interfaces ファイルのパスと名前、および interfaces ファイルの パケット・サイズを指定します。 Sybase Open Client は、タイムアウトしきい値を使用して、長期間実行される照会および 応答に割り込みます。 CREATE SERVER OPTION DDL ステートメントの CONNECTSTRING オプションを 使用して、このしきい値を DB2 に設定することができます。 CONNECTSTRING オプションで、以下の項目を指定します。

   .-;----------------------------------.
   V                                    |
>>----+------------------------------+--+----------------------><
      +-TIMEOUT-- = --seconds--------+
      +-LOGIN_TIMEOUT-- = --seconds--+
      +-IFILE-- = --"string"---------+
      +-PACKET_SIZE-- = --bytes------+
      '-;----------------------------'
 

TIMEOUT
SQL ステートメントで、Sybase Open Client からの 応答を DB2 ユニバーサル・データベースが待機する秒数を指定します。 seconds の値は、DB2 ユニバーサル・データベースの整数範囲にある正の整数です。 指定するタイムアウトの値は、使用しているラッパーによって異なります。 Windows NT、AIX、および Solaris サーバーはすべて、DBLIB ラッパーを使用することができます。 DBLIB ラッパーのデフォルト値は 0 です。 Windows NT、AIX、および Solaris サーバーの場合、この DBLIB のデフォルト値によって、 DB2 ユニバーサル・データベースは応答が返されるまで無期限に待ち続けます。

LOGIN_TIMEOUT
ログイン要求に対する Sybase Open Client からの 応答を DB2 ユニバーサル・データベースが待機する秒数を指定します。 デフォルト値は TIMEOUT の場合と同じです。

IFILE
Sybase Open Client の interfaces ファイルのパスと名前を指定します。 string で示されるパスは二重引用符 (") で囲む必要があります。 Windows NT サーバーの場合、デフォルトは %DB2PATH% です。 AIX および Solaris サーバーの場合、デフォルト値は DB2 ユニバーサル・データベース・インスタンスの ホーム・ディレクトリーにある sqllib/interfaces です。

PACKET_SIZE
interfaces ファイルのパケット・サイズをバイト単位で指定します。 データ・ソースが、指定されたパケット・サイズをサポートしていない場合、 接続は失敗します。 各レコードのサイズが非常に大きいとき (たとえば、大きな表に行を挿入するとき) に パケット・サイズを増やすと、パフォーマンスは大幅に向上します。 byte は数値です。 詳しくは、Sybase 解説書を参照してください。

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";'
 

5.5.1.9 ステップ 9: ユーザー・マッピングの作成

統合サーバーのユーザー ID またはパスワードが Sybase データ・ソースのユーザー ID または パスワードと異なる場合、CREATE USER MAPPING ステートメントを使用して、Sybase データ・ソースで 定義されたユーザー ID とパスワードにローカル・ユーザー ID をマップします。 例:

CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER
OPTIONS ( REMOTE_AUTHID 'sybuser', REMOTE_PASSWORD 'dayl1te')

説明:

DB2USER
Sybase データ・ソースで定義されたユーザー ID にマップされるローカル・ユーザー ID です。

SYBSERVER
CREATE SERVER ステートメントで定義した Sybase データ・ソースの名前です。

'sybuser'
DB2USER のマップ先である、Sybase データ・ソースでのユーザー ID です。 この値では、大文字小文字が区別されます。

'dayl1te'
'sybuser' に関連付けられているパスワードです。 この値では、大文字小文字が区別されます。

その他のオプションの詳細については、 「DB2 SQL 解説書」を 参照してください。

5.5.1.10 ステップ 10: 表および視点のニックネームの作成

Sybase データ・ソースにある視点または表ごとにニックネームを割り当てます。 Sybase データ・ソースを照会するとき、これらのニックネームを使用します。 Sybase ニックネームでは、大文字小文字が区別されます。 スキーマ名と表名はどちらも二重引用符 (") で囲んでください。 CREATE NICKNAME ステートメントの例:

CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe"

説明:

SYBSALES
Sybase 表または視点の固有のニックネームです。

SYBSERVER."salesdata"."europe"
以下の形式に従う、3 つの部分からなる ID です。

data_source_name."remote_schema_name"."remote_table_name"

ニックネームを作成したい表または視点ごとに、このステップを繰り返してください。 ニックネームが作成されると、DB2 は接続を使用してデータ・ソース・カタログを照会します。 この照会によって、データ・ソースへの接続がテストされます。 接続が失敗した場合、エラー・メッセージが表示されます。

CREATE NICKNAME ステートメントの詳細については、 「DB2 SQL 解説書」を 参照してください。 一般的なニックネームの詳細、およびデータ・タイプ・マッピングの検証については、 「DB2 管理の手引き」を 参照してください。

5.5.2 Sybase コード・ページの指定

このステップは、DB2 統合サーバーと Sybase サーバーが異なるコード・ページを 使用している場合のみ必須です。 DB2 と同じコード・セットを使用しているデータ・ソースでは、変換は必要ありません。 以下の表は、NLS (各国語サポート) の共通コード・ページと 同等の Sybase オプションを示しています。 Sybase データ・ソースが、これらの同等の値に対応するよう構成されている必要があります。 あるいは、クライアント・コードが一致しない部分を見つけ、エラーとしてフラグを立てるか、 データ自体の意味を使用してデータをマップすることができなければなりません。 ソース・コード・ページからターゲット・コード・ページへの変換表が見つからない場合、 DB2 はエラー・メッセージを出します。 詳しくは、Sybase の資料を参照してください。

表 1. Sybase コード・ページ・オプション
コード・ページ 同等の Sybase オプション
850 cp850
897 sjis

iso_1
912 iso_2
1089 iso_6
813 iso_7
916 iso_8
920 iso_9


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]