问题标签 [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.

0 投票
1 回答
649 浏览

java - SymmetricDS:我应该使用哪种方法来同步特定的表?

我正在测试 SymmetricDS,但我对应该使用哪种方法来同步某些特定表有一些疑问。我有两个应用程序,第一个是 ERP,第二个是 PDV。有些表可以同步到所有 PDV 数据库,但是,在某些表中,行应该同步到特定的 PDV 实例:

实体图

在此图中,红色矩形显示需要同步的表,绿色箭头显示我们可以识别哪些 SymmetricDS 实例将同步的列。我的问题是:我应该使用哪种方法(bsh、subselect、lookuptable 等)以及我是如何做到的?

0 投票
1 回答
1099 浏览

java - 关于 SymmetricDS Embedded 的一些问题

我需要在 Java 应用程序中实现数据库同步,我开始使用 SymmetricDS,这是一个成熟的工具,可以同步不同的 DBMS。

我玩了一些 SymmetricDS 但我无法满足我的需求,所以我对这个工具有几个问题。

首先,我将公开应用程序的上下文:
我开发了一个用 Java 编写的桌面应用程序(JavaFX 2.0 + H2 数据库 + Hibernate),我对 Java 还很陌生,但我设法构建了一个 MVC 架构并最终完成了一个独立版本我的申请。
现在,我必须在安装在不同计算机上的应用程序的多个实例之间进行同步。
我有一个在外部服务器上运行的“主” MySQL 数据库,它也将 SymmetricDS 作为“主”引擎运行。
应用程序使用 H2 数据库和 ClientSymmetricEngine。
而且我需要在客户端之间同步所有数据。

我设法使用 SymmetricDS 建立了一个或多或少的功能系统,但有一些症结:

  • 有没有办法简单地实现“最后更新获胜”策略而不是默认使用的“最后同步获胜”?

  • 是否有更完整的文档或分步指南将 SymmetricDS 嵌入现有应用程序?

  • 如何在不使用 Spring Framework 的情况下扩展对称拉取和推送作业(我需要在同步期间冻结应用程序)?

  • 如果我自己清除表会发生什么情况:
    DATA DATA_EVENT OUTGOING_BATCH INCOMING_BATCH DATA_GAP NODE_HOST_STATS NODE_HOST_CHANNEL_STATS NODE_HOST_JOB_STATS 在每次成功推/拉之后?即使没有同步更改,此表也会在几分钟后快速增长,这使我的应用程序变慢。

谢谢阅读。
JBRTRND

0 投票
1 回答
555 浏览

mysql - 对称双向不工作

我正在使用MySQL并尝试symmetricds复制数据库。我正在遵循这个快速入门指南。

我使用了示例文件夹中给出的示例文件,并在文件中提供了我的数据库详细crop.properties信息store.properties。方向同步正在工作,例如当我在 corp 数据库中插入行时,它反映了store数据库中的这些更改,但是当我在 store 数据库中插入某些内容时,我将不会同步corp数据库

你能帮我解决数据库不从商店同步到公司的问题吗?

我正在检查数据库,我可以看到所有 corp 用户数据库表的三个触发器,但是当我检查存储数据库时,没有附加到存储用户数据库表的触发器,我附加了存储数据库的图像。store 不显示任何触发器(sym_表触发器除外)。

也应该在客户端显示触发器吗?请指教。数据库图像corp,触发器附加用户表

公司数据库的图像

存储数据库的图像,用户表没有附加触发器:-

商店数据库的图像

0 投票
1 回答
46 浏览

symmetricds - SymmetricDS - 只有“复制”transformation_type 似乎有效

我有几个转换来测试将多个表同步到一个表,或者一个具有多个字段的表到一个具有较少字段的表。所有这些都正常工作,但是,当我尝试在 transform_column 表中将“copy”类型更改为“const”或“bsh”时,源值仍被复制到目标字段中,而无需执行我在“transform_expression”字段中编写的操作。知道为什么会这样吗?

提前致谢

0 投票
1 回答
557 浏览

java - SymmetricDS - 无法将行与外键同步

我有两个表,我们称之为表 A 和表 B。表 A 有表 B 的外键。我的系统首先在表 B 中创建一行,然后在另一个屏幕中,用户可以在表 A 中创建与在表 B 中创建行。这两行需要发送到特定的 SymmetricDS 客户端,为此我为每个表使用子选择路由器。问题是:在表 B 中创建的行只有在创建表 A 中的行时才知道它需要去哪里。发生这种情况时,SymmetricDS 已经评估了表 B 的子选择路由器,并将批次视为未路由。由于表 B 的行没有被路由,客户端由于外键错误而无法在表 A 中创建行。有没有办法可以保证这两行将同步在一起?

0 投票
1 回答
1244 浏览

sql-server - 轻量级 ETL 或数据库同步 - Sybase 到 SQL Server

我一直在研究一些轻量级的数据库同步工具来试用。我们要执行的初始任务是从 Sybase ASE 数据库 (15) 上的几个表到 SQL Server 数据库 (2008 R2) 的简单数据同步。时机明智,我希望保持我的选择开放,但最终,我希望能够每分钟或更短时间同步。

我一直在研究 SymmetricDS,从表面上看,它似乎完全符合我的要求。戏剧性的是我在 Sybase 方面遇到了一些障碍,事实证明这非常令人沮丧(Jumpmind 支持正在协助)。Java 似乎与我们服务器上的默认排序规则 HP-roman8 存在问题。不幸的是,改变这个字符集比这个项目本身要大得多。

我也开始研究 Talend,但在需要旧版本的 Sybase 驱动程序和降级已安装的 Java 版本方面遇到了一些障碍。

无需访问 Replication Server,是否有人对可以满足我要求的相对轻量级 ETL 或数据库同步工具有任何建议?迄今为止最大的问题是对 Sybase 的支持——我真的需要能够无缝工作而无需过多破解的东西。

干杯

0 投票
2 回答
673 浏览

java - SymmetricDS MalformedURLException

我正在配置 SymmetricDS 3.6.12 的两个实例。服务器实例在 Glassfish 3 服务器中工作,使用 8181 端口作为 https。客户端实例作为服务(在码头)运行,https 端口位于 31417。这两个实例已配置并正在运行。客户端的 sym_tables 已使用来自服务器的数据进行了更新,但是我想要同步的表都没有工作。我在服务器中收到此错误:

更多信息

服务器是这样配置的:

客户端是这样配置的:

我检查了客户端正在使用的 IPv6 (fe80:0:0:0:0:5efe:c0a8:18f%net10) 并验证它是一个有效的 IP。查看这部分错误消息:

我们可以看到 url 没有 IP 的第一部分 (fe80),而是端口存在于 url (31417) 中。这是 SymmetricDS 错误吗?我能做些什么来解决这个问题吗?

0 投票
0 回答
111 浏览

java - SymmetricDS:将行从一个节点传输到另一个节点

正如您在另一个问题中看到的那样,我正在使用 SymmetricDS 来同步表结构。在解决了链接问题的问题后,我发现了另一个问题,结构相同:

表结构

红色矩形显示哪些表需要同步,绿色箭头显示我们可以识别哪些 SymmetricDS 实例将同步的列。

假设我已经创建了一个新的 Funcionario 行,该行与 Empresa 通过 Cadatro 指定的链接,所以创建的 Funcionario 按预期推送到特定节点。但是,我注意到我将这个 Funcionario 与错误的 Empresa 相关联,因此我更改了 Cadatro - Empresa 关系。在这种情况下应该发生的是:Funcionario 将在它之前推送的节点中被删除,并且这个相同的 Funcionario 将被推送到另一个节点,正确地与新的 Cadastro-Empresa 关系相关。我如何使用 SymmetricDS 来做到这一点?

0 投票
1 回答
961 浏览

java - SymmetricDS 从 Java 代码注册客户端

我正在使用 Symmetric DS 的专业版(Symmetric DS pro 3.6.13)。

我们可以将客户端添加到服务器,但如果不手动单击“允许”选项,则无法注册客户端。

我们想在没有人工干预的情况下注册客户端并从java代码打开连接。请指导我。

错误显示 id: [server] - RegistrationUriHandler - client:SLAVE2:? 不允许注册。

一旦我们在 GUI 中单击“允许”,日志显示: [gui] - RegistrationService - 刚刚为 SLAVE2 的外部 id 和客户端的节点组和 SLAVE2 的节点 id 打开注册 [gui] - f - 发送初始负载到奴隶2

所以,请让我知道如何从 java 代码(不是从 GUI)配置上述步骤。

客户端 Java 代码:

0 投票
0 回答
143 浏览

database - SymmetricDS 是否将更新传播到 RedShift

大家好 :) SymmetricDS 的博客将 RedShift 视为仅限目标,但未详细说明。

在性能方面,RedShift 中的更新可能会出现问题。

上下文是:已经设置了从 MySQL 实例到 RedShift 的单向复制,并且数据库处于同步状态。MySQL 中的行然后被更新。

所以,问题是:

  • 这条线会在 RedShift 中以 JDBC 方式和 S3-bulk-load 方式更新吗?S3-bulk 甚至可以与更新一起使用吗?

额外的非必要问题:

  • 性能方面,JDBC 仍然可以每天更新 100 万次吗?
  • 真空是由 SymmetricDS 执行的吗?我需要安排它吗?
  • 如果存在 S3-bulk-update 方式,它内部是如何工作的?它是否作为一种日志表加载,然后传播到 RedShift 目标表?

编辑:我很想解析源代码,但该功能尚不可用(公开开源文件的最后更新日期早于该功能)