OLE DB Provider for DB2
Microsoft Host Integration Server 2004 により提供されている Microsoft OLE DB Provider for DB2 を使用すると、SQL Server 2005 の分散クエリは DB2 データベースのデータに対してクエリを実行できます。
メモ : |
---|
OLE DB Provider for DB2 は SQL Server 2005 に付属しています。OLE DB プロバイダのインストールおよび構成の方法の詳細については、プロバイダ付属のマニュアルを参照してください。 |
DB2 データベースにアクセスするリンク サーバーを作成するには
SQL Server インスタンスを実行しているコンピュータに Host Integration Server 2004 クライアント ソフトウェアをインストールし、OLE DB Provider for DB2 をインストールするオプションを選択します。
OLE DB Provider for DB2 からクエリ対象の DB2 データ ソースにアクセスするために必要な接続文字列を決定します。接続文字列を決定する最適な方法は、Host Integration Server の新しい OLE DB データ ソース アプリケーションを使用してデータ リンク ファイルを作成することです。詳細については、Microsoft Host Integration Server 2004 のマニュアルを参照してください。
DB2OLEDB を provider_name に、アクセスするデータが格納されている DB2 カタログの名前を catalog に、手順 2. の接続文字列を provider_string に指定して、sp_addlinkedserver を実行し、リンク サーバーを作成します。
次の例では、DB2 データベースにアクセスするリンク サーバー定義を作成する
sp_addlinkedserver
の使用方法を示します。EXEC sp_addlinkedserver @server = 'DB2SRV', @srvproduct = 'Microsoft OLE DB Provider for DB2', @catalog = 'SEATTLE', @provider = 'DB2OLEDB', @provstr = 'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL; ModeName=QPCSUPP;InitCat=SEATTLE; Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES; IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO; Data Source=Seattle_WNW3XX'
sp_addlinkedsrvlogin を実行して、SQL Server 2005 ログインから DB2 ログインへのログイン マッピングを作成します。
次の例では、SQL Server ログイン
SQLJoe
を DB2 ログインDB2Joe
にマップします。EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
メモ : したがって、パスワードは暗号化されずに送信されます。パスワードは、ディスク、バックアップ、およびログファイルに保存されたデータ ソース定義やスクリプトで参照できます。この種類の接続では、システム管理者のパスワードを使用しないでください。特定のユーザー環境のセキュリティについては、ネットワーク管理者に相談してください。
上記の手順を実行すると、リンク サーバー名 DB2SRV
は、4 つの部分から構成されるサーバー名に使用したり、OPENQUERY
関数の linked_server として指定できるようになります。次に例を示します。
SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT
または
SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')
DB2 データ ソースに対する分散クエリで NULL 比較が行われる場合は、=、>、< などの比較演算子ではなく、IS NULL または IS NOT NULL を使用します。また、INSERT ステートメントでは、テーブル内の特定の列で NULL が許容されていたり、既定値が設定されていても、テーブル内のすべての列に値を指定する必要があります。
参照
概念
SQL Server でテスト済みの OLE DB プロバイダ
分散クエリ
その他の技術情報
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)