DB2(32位)和SQL Server(64位)之间的Openrowset

时间:2015-03-12 19:46:13

标签: sql-server-2008 db2 32bit-64bit openrowset

select * from
OPENROWSET('IBMDADB2'
,'DSN=MY_DSN;UID=MY_UID;pwd=MY_PWD;'
,'select * from MY_TABLE')

当我在SQL Server Management Studio中运行它时,出现错误:

  

没有一个puede crear una instancia del proveedor OLE DB" IBMDADB2" para el servidor vinculado"(null)"。

当两个数据库引擎都是32位时,这可以正常工作,但问题是;我无法升级或降级另一个,因为这些是生产数据库。是否有一个我可以运行的fixpack或sp来使其工作?

运行选择@@ version

Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64)
Mar 29 2009 10:11:52   Copyright (c) 1988-2008
Microsoft Corporation  Express Edition (64-bit)
on Windows NT 6.2 <X64> (Build 9200: ) 

和DB2 9.7

1 个答案:

答案 0 :(得分:0)

其中一个解决方法:
- 您可以安装额外的实例32位SQL(例如SQLExpress)以与OPENROWSET一起使用 - 将OPENROWSET插入到简单数据库的存储过程中 - 然后在生产x64 SQL上,您可以创建链接服务器到32位SQL实例 - 使用链接服务器通过OPENROWSET访问数据库和存储过程