我设置了一个SQL Server 2005数据库服务器,其中包含一个链接服务器到Oracle数据库。
当我尝试运行删除或更新查询时,收到以下错误消息:
无法使用OLE DB提供程序“OraOLEDB.Oracle”中的书签为链接服务器获取行
在我测试它时,几个小时前相同的代码正在运行,但突然间它停止工作了。有没有人见过这个,知道一种方法来解决它/进一步排除故障?
在SQL Developer中直接在DB中执行的相同查询工作正常。 (我知道它与链接服务器有关,但我不确定是什么)
任何指针都会受到赞赏。
答案 0 :(得分: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
通过这种方式,它可以解决你的问题......