【问题标题】:Connect Oracle to SQL Server将 Oracle 连接到 SQL Server
【发布时间】:2011-06-17 12:46:34
【问题描述】:

我正在尝试使用 SQL Management Studio 2008 连接 Oracle 9i 数据库。

我试过了,但是不行

EXEC sp_addlinkedserver 'OracleLinkedServer','Oracle','OraOLEDB.Oracle','TestDB';

EXEC sp_addlinkedsrvlogin 'OracleLinkedServer','false','SA','TestUsername','TestPassword';

我能够创建链接服务器并正确测试,

但是当我执行这个语句时:

SELECT sysdate FROM OracleLinkedServer...dual;

...它给出了一个错误:

消息 7399,第 16 层,状态 1,第 1 行
链接服务器“OracleLinkedServer”的 OLE DB 提供程序“OraOLEDB.Oracle”报告错误。提供程序在外部进程中导致服务器故障。

消息 7311,第 16 级,状态 2,第 1 行
无法获取链接服务器“OracleLinkedServer”的 OLE DB 提供程序“OraOLEDB.Oracle”的架构行集“DBSCHEMA_TABLES”。提供者支持接口,但使用时返回失败码。

【问题讨论】:

  • 您是否在 SQL Server Box 上正确设置了 TNS 名称(或者您使用的是使用主机名解析的 Oracle 客户端驱动程序版本)?
  • 我使用 pl/sql developer 连接到同一个 oracle 数据库。
  • 尝试执行这个:SELECT * FROM OPENQUERY(OracleLinkedServer, 'SELECT sysdate FROM DUAL')。

标签: sql-server oracle linked-server


【解决方案1】:

您应该在 Linked Servers 节点下的 OraOLEDB.Oracle 提供程序中取消选中 Allow inprocess

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    相关资源
    最近更新 更多