1

我有一个 SQL Server 2005 数据库服务器,它设置了一个连接到 Oracle 数据库的链接服务器。

当我尝试运行删除或更新查询时,我收到以下错误消息:

无法使用来自链接服务器的 OLE DB 提供程序“OraOLEDB.Oracle”的书签获取行

几个小时前,当我测试它时,相同的代码还在工作,但突然它停止工作了。有没有人以前见过这个并且知道如何修复它/进一步排除故障?

在 SQL Developer 中直接在数据库中执行的相同查询工作正常。(我知道这是链接服务器的问题,但我不确定是什么)

任何指针将不胜感激。

4

1 回答 1

0

按以下方式使用 EXEC('query'):

假设,您之前的查询如下所示:

UPDATE [MyOraLinkedServer]..[XYZ].[TABLE]SET [DAT_COL] = cast (getdate() as smalldatetime) 

使用以下查询更改上述查询:

declare @NewValue smalldatetimeset 
@NewValue = cast(getdate() as smalldatetime)
exec( 'update XYZ.TABLE set DAT_COL = ?', @NewValue ) at MyOraLinkedServer

注意:要实现这一点,您必须在链接服务器上启用 RPC

这样,它可能会解决你的问题......

于 2012-07-17T18:53:55.950 回答