在实现DB2 SQL复制时,我们发现应用程序无法在应用目标数据库中的更改时判断外键依赖性,因此在使用主键将数据插入目标表之前,它试图将数据插入到带外键的表。
后果是某些记录的插入操作失败 带有外键的表格。
作为一种解决方案,我们尝试将这些表分别包含在不同的子集中,并为每个集合分别安排应用脚本。但是,当脚本同时运行时,我们面临同样的问题。
是否有解决此问题的方法,或者我们需要删除外键并执行复制实现。
答案 0 :(得分:0)
由于您可以在源数据库上强制执行约束,因此可以安全地将目标上的外键约束设置为NOT ENFORCED
,这样可以消除约束违规错误。由于您没有提供DB2平台和版本,因此您必须自己在相应的手册中查找ALTER TABLE
语句的正确语法。
答案 1 :(得分:0)
不太确定你要做什么。但看起来您尝试将数据导入到导入时无法获得关系依赖关系的表中。
使用LOAD命令。您可以使用SET INTEGRITY PENDING CASCADE DEFERRED导入表格,这样您就可以将所有数据导入表格。导入依赖项所需的其他表后,可以从INTEGRITY PENDING状态中删除。这是一篇关于将其从此状态https://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.dm.doc/doc/c0004593.html
中删除的文章