Sql server 无法通过链接服务器查询ORACLE数据库

Sql server 无法通过链接服务器查询ORACLE数据库,sql-server,oracle11g,linked-server,Sql Server,Oracle11g,Linked Server,我在从链接服务器查询ORACLE数据库时遇到了这个问题 我得到的错误消息是: 准备查询时出错 从OracleDBInstance.testTable中选择COUNT(*)以执行 针对链接服务器的OLE DB提供程序ADsDSOObjectlnk\u服务器 我的问题是: select * from openquery(lnk_server,'SELECT COUNT(*) FROM OracleDBInstance.testTable') 我搜索了很多,但每个人都在为Active Directo

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

我得到的错误消息是:

准备查询时出错

从OracleDBInstance.testTable中选择COUNT(*)以执行
针对链接服务器的OLE DB提供程序
ADsDSOObject
lnk\u服务器

我的问题是:

select * from openquery(lnk_server,'SELECT COUNT(*) FROM OracleDBInstance.testTable')
我搜索了很多,但每个人都在为Active Directory查询提供解决方案

有谁能提供正确的解决方案吗

我也有同样的问题

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

要解决此问题,我遵循以下步骤:

  • 使用Oracle Provider for OLE DB创建链接服务器
  • 右键单击新链接服务器,选择脚本链接服务器为->创建到->新建查询编辑器窗口
  • 删除现有的链接服务器
  • 更改生成的查询。将@provider从ADsDSOObject更改为N'OraOLEDB.Oracle
  • 运行查询
  • 这对我使用OraOLEDB.Oracle而不是ADsDsOObject很有效。

    我也有同样的问题

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

    要解决此问题,我遵循以下步骤:

  • 使用Oracle Provider for OLE DB创建链接服务器
  • 右键单击新链接服务器,选择脚本链接服务器为->创建到->新建查询编辑器窗口
  • 删除现有的链接服务器
  • 更改生成的查询。将@provider从ADsDSOObject更改为N'OraOLEDB.Oracle
  • 运行查询
  • 对于我来说,使用OraOLEDB.Oracle而不是ADsDsOObject很有效。

    为什么要使用“Microsoft Active Directory服务的Microsoft OLE DB提供程序”提供程序来查询Oracle?您必须为Oracle安装适当的OLEDB或ODBC驱动程序。为什么要使用“Microsoft Active Directory服务的Microsoft OLE DB提供程序”提供程序来查询Oracle?您必须为Oracle安装适当的OLEDB或ODBC驱动程序。为什么要使用“Microsoft Active Directory服务的Microsoft OLE DB提供程序”提供程序来查询Oracle?您必须为Oracle安装适当的OLEDB或ODBC驱动程序。