创建链接的服务器与 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。奥林匹亚。WNW3XX。部门

通过通过选择使用 OPENQUERY 3 部分组成的名称的示例:
选择 * 从 OPENQUERY (WNW3XX,"选择 * 从奥林匹亚。WNW3XX。EMP_ACT")

通过通过选择使用 OPENROWSET 2 部分组成的名称的示例:
选择 * 从 OPENROWSET
('DB2OLEDB',Netlib = SNA;NetAddr =;NetPort =;RemoteLU = 奥林匹亚;LocalLU = 本地;ModeName = QPCSUPP;用户 ID = WNW3XX;密码 = WNW3XX; InitCat = 奥林匹亚; 默认架构 = WNW3XX;PkgCol = WNW3XX;TPName =;提交 = YES; IsoLvl = NC;AccMode =;CCSID = 37;PCCodePage = 1252;BinAsChar = 否; 数据源 = 样本,
选择 * 从 WNW3XX。雇员)

插入使用 4 部分组成的名称的示例:
将 WNW3XX 插入。奥林匹亚。WNW3XX。部门的值
(E21,虚,空,E01)

请注意,更新和删除使用 DQP 而言不可能有附带 SNA 4.0 版 Service Pack 2 和 Service Pack 3 由于缺乏书签支持,但这些提供程序使用 SNA 4.0 Service Pack 4 提供程序和提供程序随附 wit DB2OLEDBh 主机集成服务器。有关这方面的详细信息,请参阅以下文章 Microsoft 知识库中相应的文章:

287093 DB2OLEDB 支持更新/删除 SQL 链接服务器中
SQLServer 和 DB2 表之间联接的示例:
选择从 CORPDATA A.EMPLOYEE_NUMBER,B.ACTNO.EMPLOYEE_ACCOUNT,WNW3XX。奥林匹亚。WNW3XX。EMP_ACT B 的 A.EMPLOYEE_NUMBER = B.EMPNO 排序依据 A.EMPLOYEE_NUMBER