建立連結的伺服器來 DB2 使用 db2 的 Microsoft OLE DB 提供者


摘要


本文提供的範例 SQL 指令碼建立連結的伺服器來 DB2 使用 sp_addlinkedserver,並發出來說明分散式查詢處理 (DQP) 使用 DB2OLEDB,DB2 的 Microsoft OLE DB 提供者的幾個查詢。請參閱下列 「 Microsoft 知識庫 」 中的文件,如有關 DB2OLEDB initstring 中使用的關鍵字。
218590會設定資料來源的 DB2 的 Microsoft OLE DB 提供者

建立連結的伺服器

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. 啟動 Microsoft SQL Server 企業管理員]。
    2. 在主控台樹狀目錄中,尋找 [連結伺服器] 節點 (在 [安全性] 資料夾中)。建立上方,並在 [屬性] 對話方塊中的連結伺服器上按一下滑鼠右鍵、 按一下 [一般] 索引標籤中,按一下 [選項],然後按一下以啟用 [允許同處理序的設定。這是唯一能啟用此設定,而且已啟用指定的提供者之後,則會使用設定為每個後續的連結伺服器,使用該提供者,包括由 T SQL 指令碼的建立。
  • 連結的伺服器 initstring 的總長度必須不超過 278 的字元,因此,最好使用 DB2OLEDB 簡短的連接字串引數如以上所述。
  • 也可以將使用 DB2OLEDB 的連結的伺服器設定 TCP/IP,透過連線,雖然上述的指令碼可說明這點使用 SNA APPC 連線。

範例的分散式的查詢

選取使用 4 部分名稱的範例: LinkedServer.Catalog.Schema.Table
選取 [* 從 WNW3XX。OLYMPIA。WNW3XX。部門

傳遞透過選取 [使用 openquery 巨集與 3 部分名稱的範例:
選取 [* 從 OPENQUERY 巨集 (WNW3XX,"選取 * 從 OLYMPIA。WNW3XX。EMP_ACT")

傳遞透過選取 [使用 OPENROWSET 2 組件名稱的範例:
選取 [* 從 OPENROWSET
('DB2OLEDB'、 Netlib = SNA;NetAddr =;NetPort =;RemoteLU = OLYMPIA;LocalLU = 本機;ModeName = QPCSUPP;使用者識別碼 = WNW3XX;密碼 = WNW3XX; InitCat = OLYMPIA; 預設結構描述 = WNW3XX;PkgCol = WNW3XX;TPName =;認可 = YES; IsoLvl = NC;AccMode =;CCSID = 37;PCCodePage = 1252;BinAsChar = NO; 資料來源 = 範例 ',
' 選取 * 從 WNW3XX。員工 ')

執行插入作業使用 4 部分名稱的範例:
插入 WNW3XX。OLYMPIA。WNW3XX。部門值
(' E21','空',NULL,'E01')

請注意,更新及刪除使用 DQP 就無法使用提供者隨附於 SNA 4.0 版 Service Pack 2 和 Service Pack 3 因為缺乏書籤支援,但這些確實是使用 SNA 4.0 Service Pack 4 提供者和提供者隨附機智的 DB2OLEDBh 裝載整合伺服器。如需詳細資訊,請參閱下列 「 Microsoft 知識庫 」 中的文文件:

287093 DB2OLEDB 支援更新/刪除從 SQL 連結伺服器
SQLServer 及 DB2 的資料表之間聯結的範例:
選取從 CORPDATA 的 A.EMPLOYEE_NUMBER,B.ACTNO..EMPLOYEE_ACCOUNT,WNW3XX。OLYMPIA。WNW3XX。EMP_ACT B 其中 A.EMPLOYEE_NUMBER = A.EMPLOYEE_NUMBER B.EMPNO 排序