问题标签 [symmetricds]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database-replication - SymmetricDS:支持不同的数据库结构和横截面属性
我对 SymmetricDs 的某些属性感到困惑。IE
如果远程数据库和中央数据库的数据库结构不同(不是mysql、oracle等不同的数据库),我们该如何管理呢?例如,如果远程数据库有两个关系表'A'和'B',而中央数据库只有一个表'C'来保存远程数据库的远程表'A'和'B'的数据,怎么能我们管理吗?因为我们不能在两个不同的表上定义相同的触发器。
如果远程应用程序对任何操作都有一个事务块,使得来自不同表的数据行可以反映为一个单元的变化,SymmetricDS如何管理它?他们在他们的用户指南中写了关于事务属性的内容,但我没有明白。
任何人都可以给我任何想法吗?您也可以向我推荐任何其他用于数据库同步和复制的开源工具。
symmetricds - SymmetricDS 数值溢出
我有 2 个设计完全相同的数据库,在尝试将活动数据库中的特定记录插入被动数据库时,我收到了来自 SymmetricDS 的错误。
我收到以下错误:“将值 211 转换为 Tinyint 类型时出现数值溢出”。数据从我们的应用程序进入 Active 数据库没有问题,但是复制到 Passive 会引发错误。此外,我可以手动在被动数据库中插入相同的值。
SymmetricDS 是否在插入期间进行某种类型的数据转换?我试图了解这可能发生的地点和原因。
谢谢, 卡莱布
symmetricds - 如何将源节点中的两列合并为目标中的一列
有没有办法连接源中的两列值,并使用 SymmetricDS 将结果复制到目标节点的一列中?
提前致谢
symmetricds - 尝试对 MySQL 中的 SymmetricDS 配置表使用一个单独的模式
我为源节点中的 SymmetricDS 表创建了一个单独的模式。此节点中还有其他两个模式,问题是,当 symmetricds 启动时,我收到几个这样的警告:
“在配置的数据源中找不到任何与‘schema1.table1’匹配的数据库表”
在 mysql 中,我创建了一个可以在 symmetricds 配置模式中读写的用户,但只能从其他模式中读取表。我还创建了指定源模式名称的触发器。在目标节点属性文件中,我使用指向对称配置模式的连接 URL。
你能帮我找出我做错了什么吗?
symmetricds - 将源中的两个表同步到目标节点中的一个表时出现问题
我有这种情况:
源节点:
架构1:
- 表 1:id、field1、field2
- 表2:id、table1_id、table3_id
- 表 3:标识
- 表4:id,table1_id
架构2:
- 表 5:id、table3_id、table6_id、field3、field4
- 表 6:标识
目标节点:
架构1:
- 表 7:id、field1、field2、field3、field4。
为了解决这个问题,我创建了一个“默认”类型的路由器,每个表的触发器和 trigger_router 表中的相应行。之后,我在 transform_table 中创建了一行来管理从源节点中的表 1 到目标节点中的表 7 的转换。这是我的问题:起初,我试图在transform_table中创建一行,用于从Table6到Table7中获取数据,但是我不能使用任何主键在源中直接链接Table1和Table6。现在我正在尝试使用查找转换来获取 field3 和 field4。为了实现这一点,我在 transform_column 表中创建了一行,如下所示:
我知道,当转换发生时, :ID 变量将被替换为我得到的 table1 行的 id。我遇到的问题是 field3 和 field4 在某些 table7 行中可能为 NULL(正如您可以从查询中的 LEFT JOINS 想象的那样)。所以我得到了错误
预期为单行,但在转换 source_2_target_table7_table1_schema1 上查找目标列 field3 时未返回任何行
当查找表达式不返回任何行时,有什么方法可以强制 SymmetricDS 在此列中复制 NULL 值?或者有没有其他方法可以实现这种同步?
提前致谢
java - 如何在 Tomcat 上启动 SymmetricDS?
我正在尝试在 Tomcat 8 上启动 SymmetricDS 3..7.4。问题是——我无法弄清楚在部署战争后该怎么做。如何启动/停止它?
使用以命令启动的嵌入式 SymmetricDS 服务器(码头)时
当我在我的网络浏览器中转到 sync.url 时,我可以看到文件夹结构和空的 WEB-INF 文件夹,但是从 url localhost:8080/engine_name (战争路径)上的 tomcat 我只看到 404。(也许,这个只是码头与 tomcat 的特殊性,因为相应的 .../sync/ url 在两种情况下都给出 503)。
无论哪种方式,我都想知道,在 Tomcat 部署之后如何控制 SymmetricDS,因为我找不到任何全面的教程,好像它对每个人都很明显,而我出于某种原因就是不明白。
更新
好的,我意识到这听起来很愚蠢,但更精确的问题:
- 我是否需要更改.propertiessync.url
文件,如果需要(可能是这种情况),需要更改什么registration url
?? 或者是其他东西? http://localhost:<tomcat-port>/<engine-name>/sync
更新 2
我已经解决了我的问题。sync.url 实际上就像我怀疑的那样,http://localhost:<tomcat-port>/<engine-name>/sync
当我在 tomcat 中启动 SymmetricDS 服务器时,它就会启动,不需要额外的操作。
java - SymmetricDS的从节点注册地址错误
我最近将 SymmetricDS 教程示例部署到我的 Tomcat 8。我.war
从相应的文件创建了三个.properties
文件:corp-000.war、store-001.war 和 store-002.war。corp-000.properties 文件中的 sync.url 为:
在我的 store-XXX.properties 文件中,我有这个:
出于某种原因,当在 Tomcat 上启动所有这三个时,日志显示:
但这是默认情况下在文件中的 url,我已将其更改为我上面写的内容!
当我在 Tomcat 上运行 corp-000 节点并使用命令“bin\sym”(运行嵌入式码头服务器)启动 store-XXX 节点时,一切都会连接并正常工作。我究竟做错了什么?
java - 从战争中提取 SymmetricDS 引擎
我有.war
文件,从部署在 Tomcat 8 中的示例 corp-000.properties 生成。现在我想要一个带有按钮的页面来控制这个引擎(即手动启用和禁用同步,同时保持引擎和心跳运行)。
为此,我想要一种方法从另一个中提取一个类型StandaloneSymmetricEngine
的.war
变量servlet
。是否有任何可以想象的方法来做到这一点,或者我是否有概念上的错误,在这种情况下,我应该如何解决我的问题。
谢谢
java - JMX 在 Tomcat 中不起作用
我有以下配置: 我在 Tomcat 8 中部署了一个示例 SymmetricDS 引擎。它应该有一个我必须连接到的 JMX MBean。配置文件symmetric-server.properties
具有以下值:
然而,当我去localhost:31417
我得到 404 并且当我启动JConsole
这个应用程序时无处可寻。
但是当我使用命令启动 SymmetricDSbin\sym
并使用嵌入式jetty
服务器启动时,我可以看到HTTP Adaptor
onlocalhost:31417
并且可以通过JConsole
本地应用程序连接,但我无法远程连接到localhost:31418
:
我下载了 SymmetricDS 的源代码并在文件中
从文件中只获取了三个配置symmetric-server.properties
——从默认值来看,它们似乎是jmx.http.port for HTTP Adaptor
,https.port forHTTPS
和http.port for SymmetricWebServer。
我还尝试通过添加更改jmx.agent.enable
并false
手动覆盖 java 命令行选项sym_service.conf
:
无济于事。
你能帮我吗,我做错了什么?
更新
在 greping 来源之后,我发现SystemConstants.java
,其中再次有http、https和jmx.http的端口,但没有远程代理的端口
database - SymmetricDS 未将数据库与不同时区同步
我设置了 symmetricds ( version 3.7.3
) 以将几个表从一个中央数据库同步到两个客户端数据库,其中central
一个 client( client1
) 与中央数据库位于同一区域,而另一个 client( client2
) 位于不同区域。因此,中央和client2
具有不同的机器时区。SymmetricDS 能够从 到 同步central
,client1
但不能从 到central
同步client2
。我试图将数据库移动client2
到与它相同的区域client1
,然后它就可以工作了。有没有人有同样的问题?