执行proc时:无法从OLE DB提供程序“OraOLEDB.Oracle”获取链接服务器的行

时间:2014-01-27 16:10:00

标签: sql-server oledb

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

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

作为管理员(设置链接服务器的帐户),我可以直接查询或嵌入存储过程,然后执行proc而不会出现问题。

作为我的指定用户,它具有完全管理员权限,并且还添加了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 Provider上的“Allow inprocess”选项。这样做没有用。

任何想法?

1 个答案:

答案 0 :(得分:1)

请通过打开链接服务器&gt;启用提供商的“允许处理中”选项。提供商并检查“允许进行中”。有关更多详细信息,请参阅以下链接:

揭开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