我的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”选项。这样做没有用。
任何想法?
答案 0 :(得分:1)
请通过打开链接服务器&gt;启用提供商的“允许处理中”选项。提供商并检查“允许进行中”。有关更多详细信息,请参阅以下链接:
揭开SQL-Oracle分布式查询问题的神秘面纱 http://blogs.msdn.com/b/bindeshv/archive/2008/05/21/demystifying-sql-oracle-distributed-query-issues.aspx