我有两个数据库:oracle 和 postgres。 SymmetricDS 在两个方向上同步表。似乎一切正常。 但是我需要一个基于触发器的逻辑来“即时”更正插入/更新的行。此触发器必须位于 oracle 数据库中。
算法应该如下:
- 用户向 PostgreSQL 插入新行。
- SymmetricsDS 将此行复制到 Oracle。
- Oracle 的触发器“即时”将一些列转换为新列。
- 此转换后的行必须从 oracle 返回到 postgres。
- 我正在创建最后一个 AFTER 触发器(基于 FOLLOWS 语句) 将这一更新的行插入到 SYM_DATA 表中的 oracle。
- 我正在等待 SymmetricsDS 复制这条更正后的行 到 postgres 回来。但什么也没发生。 Postgres 线路很旧 样式,例如用户插入,没有 oracle 的触发逻辑。
我做错了什么?我还能做些什么来实现我的算法?
最佳答案
在 Oracle 数据库端编写您自己的 org.jumpmind.symmetric.io.data.writer.DatabaseWriterFilterAdapter
实现。这个拦截器将完成第 3 步(和第 5 步)的工作。
关于oracle - 双向复制 SymmetricDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49365380/