【问题标题】:When Executing proc: Cannot fetch a row from OLE DB provider "OraOLEDB.Oracle" for linked server执行 proc 时:无法从链接服务器的 OLE DB 提供程序“OraOLEDB.Oracle”获取行
【发布时间】:2014-03-07 21:24:53
【问题描述】:

我的 SQL Server 数据库中有一个 Oracle 链接服务器。

我使用本地身份验证登录 SQL Server,然后使用 Windows 身份验证。

作为管理员(即设置链接服务器的帐户),我可以直接查询或嵌入存储的过程中,然后毫无问题地执行过程。

作为我的指定用户,他拥有完全的管理员权限,并且在 Windows 安全设置上添加了所有 SQL Server 组,我可以使用同义词或 OpenQuery 语法很好地查询我的链接服务器。但是如果我尝试执行其中一个存储过程,它会给我错误消息

Message 1:
The OLE DB provider "OraOLEDB.Oracle" for linked server "<server name>" reported an error. The provider did not give any information about the error.

Message 2:
Cannot execute the query "<query string>" against OLE DB provider "OraOLEDB.Oracle" for linked server "<server name>". 

我在网上搜索过,通常人们在尝试运行临时查询时会看到此消息。我的临时查询运行良好。尽管如此,我还是应用了选择的解决方案,即检查 OLEDB 提供程序上的“允许进程内”选项。这样做没有帮助。

有什么想法吗?

【问题讨论】:

    标签: sql-server oledb


    【解决方案1】:

    请通过打开 Linked Server > Providers 并选中“Allow in Process”为提供程序启用“Allow in Process”选项。更多详细信息,请参考以下链接:

    揭开 SQL-Oracle 分布式查询问题的神秘面纱 http://blogs.msdn.com/b/bindeshv/archive/2008/05/21/demystifying-sql-oracle-distributed-query-issues.aspx

    来源: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/902f5edf-e357-4ee7-82e8-ea5760882985/cannot-fetch-a-row-from-ole-db-provider-oraoledboracle-for-linked-server-linkedservername?forum=sqldataaccess

    【讨论】:

    • 已经这样做了。看我的原帖。但我放弃了。我报废了过程并重新开始。我现在取得了一些成功。
    猜你喜欢
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2020-04-15
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多