|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 |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
|説明:
|クライアント・ライブラリーへのパスを設定するには、以下のコマンドを発行します。
|db2set DB2LIBPATH=<Merant クライアント・ライブラリーへのパス> |db2set DB2ENVLIST=LIBPATH
|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 ユニバーサル・データベースが稼動しているプラットフォームに |よって異なります。 |適切なラッパーを選択するためのガイドとして、表 3を使用してください。
|
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 データ・ソースにはノード名が必要です。 |Windows の場合、Windows ODBC データ・アドミニストレーター・ツールの「システム DSN」タブで |DSN を取得します。AIX の場合、DB2 インスタンス所有者ホーム・ディレクトリーの |.odbc.ini ファイルから DSN を取得します。
|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 'day2night')
|説明:
|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 がどちらも
|サポートしているコード・ページがリストされています。
|
|表 4. 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 の資料を参照してください。