SQL Server链接服务器错误消息

时间:2012-07-17 18:43:15

标签: oracle sql-server-2005 linked-server

我设置了一个SQL Server 2005数据库服务器,其中包含一个链接服务器到Oracle数据库。

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

  

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

在我测试它时,几个小时前相同的代码正在运行,但突然间它停止工作了。有没有人见过这个,知道一种方法来解决它/进一步排除故障?

在SQL Developer中直接在DB中执行的相同查询工作正常。 (我知道它与链接服务器有关,但我不确定是什么)

任何指针都会受到赞赏。

1 个答案:

答案 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

通过这种方式,它可以解决你的问题......