使用 Openquery 链接服务器更新表

Posted

技术标签:

【中文标题】使用 Openquery 链接服务器更新表【英文标题】:Update table using Openquery linked server 【发布时间】:2013-02-08 05:52:41 【问题描述】:

我已经尝试了这段代码,但仍然出现以下错误,也许有人可以帮忙?

UPDATE a 
SET    a.MMDWNO = '21'
FROM   OPENQUERY(NMIIFLIB,
       'select * from MVXCDTANSN.MITMAS WHERE MMITTY = ''25''') a 

错误:

返回链接服务器“NMIIFLIB”的 OLE DB 提供程序“MSDASQL” 消息“[IBM][iSeries Access ODBC 驱动程序][DB2 UDB]SQL7008 - MITMAS in MVXCDTANSN 对操作无效。”。 消息 7343,第 16 层,状态 4,第 1 行 链接服务器“NMIIFLIB”的 OLE DB 提供程序“MSDASQL” 无法更新表“[MSDASQL]”。

select 语句工作正常,但是当我尝试更新时,我总是坚持这一点。

【问题讨论】:

【参考方案1】:

如果您尝试更新链接服务器上的表,请尝试以下语法:

UPDATE OPENQUERY(NMIIFLIB, 'select * from MVXCDTANSN.MITMAS where MMITTY = ''25''')
SET MMDWNO = 21

【讨论】:

【参考方案2】:

你必须试试这个。希望这会对你有所帮助。

UPDATE OPENQUERY(firstlink, 'select * from job.dbo.student where id = ''3''') 
    SET name = 'sanjeev acharya'

【讨论】:

以上是关于使用 Openquery 链接服务器更新表的主要内容,如果未能解决你的问题,请参考以下文章

SQL链接服务器查询-OPENQUERY的使用

如何使用 Access VBA 更新所有 ODBC 链接的 SQL Server 表的服务器名称

使用 OPENQUERY 语法通过链接服务器 (SQL Server 2005) 调用 MySQL 存储过程(带参数)的问题

多部分标识符无法与交叉应用绑定到具有 OPENQUERY 的链接服务器功能

sql 使用MS SQL链接服务器连接到Active Directory并使用OpenQuery进行查询

无法在链接服务器上运行 openquery