我可以在从sql2005到sql2008的OPENROWSET查询中使用SQLOLEDB提供程序吗?
SELECT * FROM OPENROWSET ('SQLOLEDB','[servername]';'login';'pw',
'set fmtonly off
EXEC DB.dbo.SP 6,1,''B20121110'' ')谢谢
发布于 2012-12-01 21:25:20
是的,OpenRowset方法确实在Server 2008中工作,Server 2005将接受与SQLOLEDB提供程序的连接。
您需要启用Ad Hoc Distributed Queries来允许这种类型的访问(在源服务器上)。请注意这是一个安全风险,这个文章突出了这个风险。该链接还向您展示了如何启用此选项,我在这里不共享代码,这样您就可以自己读取警告。
根据您要做的事情,这可能不是从目标服务器获取数据的最佳方法。您可能最好是通过SSIS中的ETL进程将数据从该服务器加载到服务器,在应用程序中从每个源获取数据,等等。您还可以创建和定义一个链接服务器,用于连接到另一个SQL Server,但也需要考虑链接服务器的一些问题(一些安全问题、运行远程查询和来回发送数据以及连接跨服务器等方面的一些性能问题)。
https://serverfault.com/questions/453981
复制相似问题