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

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

元の製品バージョン:  Host Integration Server
元の KB 番号:   222937

概要

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

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 プロバイダーは、in-proc を実行する必要があります。 この設定を有効にするには、次の方法を使用します。

    1. [マネージャー] SQL Server Enterpriseします。

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

  • リンク サーバー initstring の合計長は 278 文字以内である必要があります。したがって、上記で説明したように短い接続文字列の引数を使用すると DB2OLEDB 便利です。

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

分散クエリのサンプル

  • SELECT4 パーツの名前の使用例:LinkedServer.Catalog.Schema.Table

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

    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ブックマークのサポートが不足している場合、SNA バージョン 4.0 Service Pack 2 および Service Pack 3 に同梱されているプロバイダーでは DQP の使用はできませんが、これらは DELETE SNA 4.0 Service Pack 4 プロバイダーと Host Integration Server に同梱されているプロバイダーで動作します。 DB2OLEDB

  • 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