我当前正在尝试使用SSMS中的以下命令通过使用链接服务器的openquery删除IBM i上表中保存的数据;
DELETE FROM OpenQuery(LnkSrv,'SELECT * FROM LibA.Table1')
运行以上命令时,出现错误消息。
链接服务器“ LnkSrv”的OLE DB提供程序“ IBMDASQL”返回了消息 “关键列信息不足或不正确。行太多 受到更新的影响。”。消息7345,级别16,状态1,第3行OLE 无法从链接服务器“ LnkSrv”中删除数据库提供程序“ IBMDASQL” 表“ SELECT * FROM LibA.Table1”。更新不符合 模式要求。
答案 0 :(得分:0)
我的感觉是,这不是OpenQuery的专门问题。
我怀疑在“ CLRPFM”情况下使用DB2以及使用OLE DB驱动它的结合会引起某种纠结。
您的目标表是否有主键?如果没有,我会尝试添加一个。
如果您只想一次性清除表,则应该能够在IBM i上本机运行删除。