通过OPENQUERY将SQL DELETE的查询语法更正为链接服务器

时间:2016-03-23 02:39:05

标签: sql-server vbscript sql-delete linked-server openquery

我有一个链接服务器我试图通过vbscript访问,以执行DELETE命令。我的查询字符串的当前语法是:

DBQUERY = "SELECT * FROM OPENQUERY(" & strLinkedServer & ", 
'DELETE FROM pacts.acct_posting where posting_number = " & intPostingNumber & "');"

这提供了一个查询字符串:

SELECT * FROM OPENQUERY(PACTSTEST, 'DELETE FROM pacts.acct_posting 
WHERE posting_number = 170026');

但是这会返回错误:

  

无法处理对象" DELETE FROM pacts.acct_posting where   posting_number = 170026"。 OLE DB提供程序" MSDASQL"为了链接   服务器" PACTSTEST"表示该对象没有列或   当前用户没有该对象的权限。

访问链接服务器的权限不存在争议。

错误消息的快速Google搜索显示来自MS的评论" OpenQuery需要返回结果集,但是UPDATEDELETEINSERT语句与OpenQuery一起使用时不返回结果集。"。他们提供了一些解决方法,但由于我不是SQL专家,所以我不理解他们给出的建议。

这是https://support.microsoft.com/en-us/kb/270119

根据提供的链接页面提供的建议,有人可以告诉我我需要做什么吗?

0 个答案:

没有答案