无法通过链接服务器

时间:2015-06-12 03:59:52

标签: sql-server oracle11g linked-server

从链接服务器查询ORACLE数据库时,我遇到了这个问题。

我得到的错误信息是:

  

准备查询时发生错误

     

SELECT COUNT(*) FROM OracleDBInstance.testTable执行   针对链接服务器ADsDSOObject的OLE DB提供程序lnk_server

我的查询是:

select * from openquery(lnk_server,'SELECT COUNT(*) FROM OracleDBInstance.testTable')

我搜索了很多,但每个人都在为Active Directory查询提供解决方案。

任何人都可以提供正确的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题

在某些情况下,当使用SSMS界面使用Oracle Provider for OLE DB创建链接服务器时,它在后台使用ADsDSOObject。

要解决此问题,我按照以下步骤操作:

  1. 使用Oracle Provider for OLE DB创建链接服务器
  2. 右键单击新的链接服务器,选择“脚本链接的服务器为->创建至->新建查询编辑器窗口”
  3. 删除现有的链接服务器
  4. 更改生成的查询。将@provider从ADsDSOObject更改为N'OraOLEDB.Oracle
  5. 运行查询

这对我使用OraOLEDB.Oracle而不是ADsDsOObject很有帮助。