2012-07-17 136 views
1

我有一个SQL Server 2005数据库服务器与链接服务器设置到Oracle数据库。SQL Server链接服务器错误消息

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

无法提取使用书签从OLE DB提供程序“OraOLEDB.Oracle”一排链接服务器

相同的代码几个小时前正在测试它,但突然它停止工作。有没有人看过这个,并知道一种方法来解决它/进一步解决问题?

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

任何指针,将不胜感激。

回答

0

使用EXEC在下列方式( '查询'):

看,是你以前的查询是这样的:

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

在t他的方式,它可能会解决你的问题......

+0

我试过了,它没有工作......奇怪的是在我的C#代码,当我做了一个修剪我传递给我的两个参数该查询,它开始工作正常。 – Tim 2012-07-18 14:03:16