【问题标题】:Cannot query ORACLE database through linked server无法通过链接服务器查询 ORACLE 数据库
【发布时间】:2015-08-27 23:49:22
【问题描述】:

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

我得到的错误信息是:

准备查询时出错

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

我的查询是:

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

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

谁能提供正确的解决方案?

【问题讨论】:

  • 为什么要使用“Microsoft OLE DB Provider for Microsoft Active Directory Service”提供程序来查询Oracle?您必须为 Oracle 安装正确的 OLEDB 或 ODBC 驱动程序。

标签: sql-server oracle11g linked-server


【解决方案1】:

我遇到了同样的问题

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

为了解决这个问题,我按照以下步骤操作:

  1. 使用 Oracle Provider for OLE DB 创建链接服务器
  2. 右击新建的链接服务器,选择Script Linked Server As -> CREATE To -> New Query Editor Window
  3. 删除现有的链接服务器
  4. 更改生成的查询。将 @provider 从 ADsDSOObject 更改为 N'OraOLEDB.Oracle
  5. 运行查询

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

【讨论】:

    猜你喜欢
    • 2012-06-22
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2011-06-29
    相关资源
    最近更新 更多