【问题标题】:Foreign key Constraints issue in DB2 SQL replicationDB2 SQL 复制中的外键约束问题
【发布时间】:2015-06-26 22:41:05
【问题描述】:

在实现 DB2 SQL 复制时,我们了解到应用程序在应用目标数据库中的更改时无法判断外键依赖关系,因此在使用主键将数据插入目标表之前,它试图将数据插入带有外键的表。

其后果是某些记录的插入操作失败 应用了外键的表。

作为一种解决方案,我们尝试将这些表分别包含在不同的子集中,并为该集合单独安排应用脚本。但由于脚本同时运行,我们仍然面临同样的问题。

这个问题有什么解决方案吗,或者我们需要删除外键并执行复制。

【问题讨论】:

    标签: database db2 replication


    【解决方案1】:

    由于您的约束应该在源数据库上强制执行,您可以安全地将目标上的外键约束设置为NOT ENFORCED,这应该可以消除约束违规错误。由于您没有提供您的 DB2 平台和版本,因此您必须自己在相应的手册中查找 ALTER TABLE 语句的正确语法。

    【讨论】:

    • 我们已经删除了外键约束,但正在寻找替代解决方案。是否有任何复制的配置参数可以在配置时设置。
    【解决方案2】:

    不太确定您要做什么。但看起来您试图将数据导入到在导入时关系依赖不可用的表中。

    使用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

    【讨论】:

      猜你喜欢
      • 2013-08-12
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2020-03-16
      相关资源
      最近更新 更多