在SQL中通过OpenQuery截断IBM i表

问题描述 投票:1回答:1

我目前正在尝试使用链接服务器通过openquery删除IBM i上的表中保存的数据,并在SSMS中使用以下命令;

DELETE FROM OpenQuery(LnkSrv,'SELECT * FROM LibA.Table1') 

运行上面的内容时,我收到一条错误消息。

链接服务器“LnkSrv”的OLE DB提供程序“IBMDASQL”返回消息“键列信息不足或不正确。更新会影响太多行。”。消息7345,级别16,状态1,行3链接服务器“LnkSrv”的OLE DB提供程序“IBMDASQL”无法从表“SELECT * FROM LibA.Table1”中删除。更新不符合架构要求。

sql db2 linked-server db2-400 openquery
1个回答
0
投票

我的感觉是,这不是一个具体的OpenQuery问题。

我怀疑DB2 on i'CLRPFM'情况与使用OLE DB驱动它的组合导致某种纠结。

您的目标表是否有主键?如果没有,我会尝试添加一个。

如果您只想一次性清除表,则应该能够在IBM i上本机运行删除。

© www.soinside.com 2019 - 2024. All rights reserved.