我正在使用SymmetricDS运行两个MySQL实例。
我必须启动和停止同步,因为我使用:
update sym_channel set enabled=0/1;由于某些原因,当它们同步(enabled=1)时,我得到以下错误:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`test_db`.`defectstdreference`, CONSTRAINT `Relationship72` FOREIGN KEY (`improve_notice_doc_id`, `defect_id`, `client_id`) REFERENCES `improvementnoticedefect` (`doc_id`, `defect_id`, `client)然而,在一段时间内,同步成功地完成了,所以所有这些异常都大大减缓了进程。
你知道这可能是什么造成的吗?
发布于 2015-04-23 12:51:28
您是否创建了自己的频道,还是使用了默认设置?
如果您创建了自己的,它们可以相互独立地同步。因此,如果两个表之间有一个外键,而父表使用channelA,子表使用channelB,则channelB中的更改可能在channelA之前同步,从而导致外键错误。有时,channelB可能会在channelA之后处理,因此这可能解释了意外的行为。SymmetricDS将错误地重试任何批次,因此最终会使它们有序。要避免这些错误,请确保您使用的是所有相关表都在同一个通道中使用的自定义通道。
https://stackoverflow.com/questions/29804070
复制相似问题