Microsoft OLE DB プロバイダー for DB2 を使用した DB2 へのリンク サーバーの作成

この記事では、 を使用して sp_addlinkedserverDB2 にリンク サーバーを作成するためのサンプル SQL スクリプトについて説明し、分散クエリ処理 (DQP) を示すためにいくつかのクエリを発行します。

元の製品バージョン: ホスト統合サーバー
元の KB 番号: 222937

概要

この記事では、 を使用して sp_addlinkedserverDB2 にリンク サーバーを作成するためのサンプル SQL スクリプトを提供し、OLE DB プロバイダー for DB2 を使用して DB2OLEDBDQP を示すためにいくつかのクエリを発行します。

INF: Microsoft OLE DB Provider for DB2のデータ ソースの構成

リンク サーバーの作成

EXEC sp_addlinkedserver
@server = 'WNW3XX',
@srvproduct = 'Microsoft OLE DB Provider for DB2',
@catalog = 'OLYMPIA',
@provider = 'DB2OLEDB',
@provstr='NetLib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Olympia_WNW3XX'

EXEC sp_addlinkedsrvlogin 'WNW3XX', false, NULL, 'WNW3XX', 'WNW3XX'

注:

  • DB2OLEDB プロバイダーはインプロセスで実行する必要があります。 この設定を有効にする方法:

    1. SQL Server Enterprise マネージャーを起動します。

    2. コンソール ツリーで、リンク サーバー ノード ([セキュリティ] フォルダーの下) を見つけます。 上で作成したリンク サーバーを右クリックし、[ プロパティ ] ダイアログ ボックスで [ 全般 ] タブをクリックし、[オプション] をクリックして、[ インプロセスの許可 ] 設定を有効にします。 これは、この設定を有効にする唯一の方法であり、特定のプロバイダーに対して有効にした後、T-SQL スクリプトで作成されたものも含め、そのプロバイダーを使用して作成された後続のリンク サーバーごとに設定が使用されます。

  • リンク サーバー initstring の長さの合計は 278 文字以下である必要があるため、上記の短い接続文字列引数を使用DB2OLEDBすると便利です。

  • を使用する DB2OLEDB リンク サーバーは、TCP/IP 経由で接続するように構成することもできますが、上記のスクリプトは SNA APPC 接続を使用してこれを示しています。

分散クエリのサンプル

  • 4 部構成の名前の SELECT 使用例: LinkedServer.Catalog.Schema.Table

    SELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT
    
  • 3 部構成の名前で を使用するOPENQUERYパススルーSELECTの例:

    SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")
    
  • 2 部構成の名前を使用したパススルー SELECTOPENROWSET 例:

    SELECT * FROM OPENROWSET
    ('DB2OLEDB',Netlib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Sample',
    'SELECT * FROM WNW3XX.EMPLOYEE')
    
  • 使用する INSERT 4 部構成の名前の例:

    INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES
    ('E21','DUMMY',NULL,'E01')
    

    注:

    UPDATE また、 DELETE ブックマークのサポートがないため、SNA バージョン 4.0 Service Pack 2 および Service Pack 3 に付属しているプロバイダーでは DQP を使用できません DB2OLEDB が、これらは SNA 4.0 Service Pack 4 プロバイダーとホスト統合サーバーに付属するプロバイダーで動作します。

  • SQLServer テーブルと DB2 テーブル間の JOIN の例:

    SELECT A.EMPLOYEE_NUMBER,B.ACTNO FROM CORPDATA..EMPLOYEE_ACCOUNT A, WNW3XX.OLYMPIA.WNW3XX.EMP_ACT B WHERE A.EMPLOYEE_NUMBER = B.EMPNO ORDER BY A.EMPLOYEE_NUMBER