Microsoft SQL Server データ・ソースを DB2 統合サーバーに追加する前に、 ODBC ドライバーを統合サーバーにインストールし、構成しておく必要があります。 ODBC ドライバーのインストール方法については、ODBC ドライバーに 付属の資料に記述されているインストール手順を参照してください。
統合サーバーをセットアップして、Microsoft SQL Server データ・ソースに保管されている データにアクセスするには:
この章では、ステップ 3 および 4 が説明されています。
この章での説明は、Windows NT および AIX プラットフォームに適用されます。 プラットフォーム固有の違いは、その都度示されています。
ODBC ドライバーと DB2 リレーショナル・コネクトをインストールした後、 以下のステップにしたがって Microsoft SQL Server データ・ソースを統合サーバーに 追加します。
上記のステップは、以下のセクションで詳しく説明されています。
データ・ソース環境変数を、db2dj.ini ファイルを変更し、 db2set コマンドを実行することで設定します。 db2dj.ini ファイルには、 Microsoft SQL Server データ・ソースに接続するための構成情報が含まれています。 db2set コマンドは、DB2 プロファイル・レジストリーを あなたの設定で更新します。
区分データベース・システムでは、特定インスタンスのすべてのノードに対して 単一の db2dj.ini ファイルを使用、または 特定インスタンスの 1 つ以上のノードに対して固有の db2dj.ini ファイルを 使用することができます。 非区分データベース・システムでは、 保持できる db2dj.ini ファイルはインスタンスごとに 1 つです。
環境変数を設定するには:
ODBCINI=$HOME/.odbc.ini DJX_ODBC_LIBRARY_PATH=<path to the Merant driver>/lib LIBPATH=<path to the Merant driver>/lib DB2ENVLIST=LIBPATH
db2set コマンドを実行して、DB2 プロファイル・レジストリーに 変更を適用します。 db2set の構文は、使用しているデータベース・システムによって 異なります。
db2set DB2_DJ_INI=<path to ini file>/db2dj.ini
db2set -g DB2_DJ_INI=<path to ini file>/db2dj.ini
db2set -i INSTANCEX 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini
説明:
djxlink.sh シェル・スクリプトは、クライアント・ライブラリーを ラッパー・ライブラリーにリンクします。 シェル・スクリプトを実行するには:
djxlink
Microsoft SQL Server データ・ソースへのアクセスにかかる時間が長すぎる場合、 データ・ソースにアクセスを試みるときではなく、統合サーバーが初期設定されるときに ラッパーをロードするよう DB2_DJ_COMM 環境変数を設定することによって パフォーマンスを向上させることができます。 DB2_DJ_COMM 環境変数を設定して、ステップ 5 で指定したラッパーに対応する ラッパー・ライブラリーを組み込みます。例:
db2set DB2_DJ_COMM=djxmssql3.dll
db2set DB2_DJ_COMM=libmssql3.a
等号 (=) の両端にスペースがないことを確認します。
ラッパー・ライブラリー名についての詳しくは、 「DB2 SQL 解説書」を参照してください。
環境変数がプログラムに設定されていることを確実にするには、DB2 インスタンスを再生してください。 インスタンスを再生すると、変更を受け入れられるよう DB2 インスタンスはリフレッシュされます。 DB2 インスタンスを再生するには、次のコマンドを実行してください。
db2stop db2start
DB2 ユニバーサル・データベースには、Microsoft SQL Server データ・ソースへの アクセスに使用できる 2 つの異なるプロトコル (ラッパー) があります。 ラッパーとは、データ・ソースとの通信およびデータ・ソースからのデータ検索に 統合システムが使用するメカニズムのことです。 使用するラッパーは、DB2 ユニバーサル・データベースが稼動しているプラットフォームに よって異なります。 適切なラッパーを選択するためのガイドとして、表 2を使用してください。
ODBC ドライバー | プラットフォーム | ラッパー名 |
ODBC 3.0 (またはそれ以降) ドライバー | Windows NT | DJXMSSQL3 |
MERANT DataDirect Connect ODBC 3.6 ドライバー | AIX | MSSQLODBC3 |
CREATE WRAPPER ステートメントを使用して、Microsoft SQL Server データ・ソースへの アクセスに使用されるラッパーを指定します。 CREATE WRAPPER ステートメントの例:
CREATE WRAPPER DJXMSSQL3
ここで DJXMSSQL3 は、DB2 (Windows NT サーバー版) で使用されるデフォルト・ラッパー名です (ODBC 3.0 ドライバー使用)。 DB2 (AIX サーバー版) を使用している場合、MSSQLODBC3 ラッパー名を指定します。
デフォルト・ラッパー名は、選択した名前で置換することができます。 ただし、これを行う場合、LIBRARY パラメーターおよび統合サーバー・プラットフォームのラッパー・ ライブラリー名を CREATE WRAPPER ステートメントに組み込まなければなりません。 例:
CREATE WRAPPER wrapper_name LIBRARY 'djxmssql3.dll'
ここで wrapper_name はラッパーに付ける名前で、 'djxmssql3.dll' はライブラリー名です。
CREATE WRAPPER wrapper_name LIBRARY 'libmssql3.a'
ここで wrapper_name はラッパーに付ける名前で、 'libdjxmssql.a' はライブラリー名です。
ラッパー・ライブラリー名について詳しくは、 「DB2 SQL 解説書」 で CREATE WRAPPER ステートメントを調べてください。
CREATE SERVER ステートメントを使用して、接続したい Microsoft SQL Server データ・ソースを それぞれ定義します。 例:
CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3 OPTIONS (NODE 'sqlnode', DBNAME 'database_name')
説明:
ノードの名前 (システム DSN 名) が CREATE SERVER のオプションとして指定されていても、 Microsoft SQL Server データ・ソースにはノード名が必要です。
CREATE WRAPPER ステートメントで使用できるその他のオプションについては、 「DB2 SQL 解説書」を 参照してください。
データベースの名前が CREATE SERVER ステートメントの オプションとして指定されていても、Microsoft SQL Server データ・ソースには データベース名が必要です。
統合サーバーのユーザー ID またはパスワードが Microsoft SQL Server データ・ソースの ユーザー ID またはパスワードと異なる場合、CREATE USER MAPPING ステートメントを 使用して、Microsoft SQL Server データ・ソースで定義されたユーザー ID と パスワードにローカル・ユーザー ID をマップします。 例:
CREATE USER MAPPING FOR db2user SERVER server_name OPTIONS (REMOTE_AUTHID 'mssqluser', REMOTE_PASSWORD 'dayl1te')
説明:
CREATE USER MAPPING ステートメントで使用できるその他のオプションについては、 「DB2 SQL 解説書」を参照してください。
アクセスしたい Microsoft SQL Server データ・ソースにある視点または表ごとに ニックネームを割り当てます。 Microsoft SQL Server データ・ソースを照会するとき、これらのニックネームを使用します。 ニックネームを割り当てるには、CREATE NICKNAME ステートメントを使用してください。 ニックネームでは、大文字小文字が区別されます。 CREATE NICKNAME ステートメントの例:
CREATE NICKNAME mssqlsales FOR server_name.salesdata.europe
説明:
data_source_server_name.remote_schema_name.remote_table_name
ニックネームの remote_schema_name および remote_table_name の部分には 二重引用符を使用するようお勧めします。
ニックネームが作成されると、DB2 はデータ・ソース・カタログ表にアクセスを試みます (Microsoft SQL Server は このカタログ表をシステム表として参照します)。 これで、データ・ソースへの接続がテストされます。 接続が失敗した場合、エラー・メッセージが表示されます。
ニックネームを作成したいデータベース表および視点すべてついて、このステップを 繰り返してください。
CREATE NICKNAME ステートメントの詳細については、 「DB2 SQL 解説書」を 参照してください。 一般的なニックネームの詳細、およびデータ・タイプ・マッピングの検証については、 「DB2 管理の手引き」を 参照してください。
データ・ソースへのアクセス時に問題が発生する場合、その問題の分析と解決のため、 ODBC トレース情報を取得することができます。 ODBC トレースが正しく機能していることを確認するには、 ODBC データ・ソース管理者により提供されているトレース・ツールを使用します。 トレースの活動化はシステム・パフォーマンスに影響するため、 問題が解決したらトレースをオフにしてください。
Microsoft SQL Server は、DB2 UDB がサポートしている NLS (各国語サポート) 共通コード・ページの
多くをサポートしています。
DB2 と同じコード・セットを使用しているデータ・ソースでは、変換は必要ありません。
表 3 には、DB2 ユニバーサル・データベースと Microsoft SQL Server がどちらも
サポートしているコード・ページがリストされています。
表 3. DB2 UDB および Microsoft SQL Server コード・ページ・オプション
コード・ページ | サポートされている言語 |
---|---|
1252 | ISO 文字セット |
850 | マルチリンガル |
437 | 米国英語 |
874 | タイ語 |
932 | 日本語 |
936 | 中国語 (簡体字) |
949 | 韓国語 |
950 | 中国語 (繁体字) |
1250 | 中央ヨーロッパ言語 |
1251 | キリル文字 |
1253 | ギリシャ語 |
1254 | トルコ語 |
1255 | ヘブライ語 |
1256 | アラビア語 |
DB2 統合サーバーと Microsoft SQL Server が異なる NLS (各国語サポート) コード・ページを 使用している場合、Microsoft SQL Server データ・ソースが、これらの同等の値に対応するように 構成されている必要があります。 あるいは、クライアント・コードが一致しない部分を見つけて、エラーとしてフラグを立てるか、 データ自体の意味を使用してデータをマップすることができなければなりません。 ソース・コード・ページからターゲット・コード・ページへの変換表が見つからない場合、 DB2 はエラー・メッセージを出します。 詳しくは、Microsoft SQL Server の資料を参照してください。