- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在从事一个涉及使用对称 ds 同步两个数据库的小项目。我的数据库之一是 mysql,另一个是 h2。我希望我的程序在单击时更新 h2 数据库。但是,更新函数会生成类似以下内容的错误:
org.h2.jdbc.JdbcSQLException: Error creating or initializing trigger
"SYM_ON_I_FOR_DBTRGGR_CRS_LCL" object, class "org.jumpmind.symmetric.db.h2.H2Trigger", cause: "org.h2.message.DbException: Class ""org.jumpmind.symmetric.db.h2.H2Trigger"" not found [90086-176]"; see root cause for details; SQL statement:
INSERT INTO passenger VALUES(1, 'Person1', 20, 'City1', 'City2', 1); [90043-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.schema.TriggerObject.load(TriggerObject.java:77)
at org.h2.schema.TriggerObject.fireRow(TriggerObject.java:167)
at org.h2.table.Table.fireRow(Table.java:935)
at org.h2.table.Table.fireAfterRow(Table.java:925)
at org.h2.command.dml.Insert.insertRows(Insert.java:162)
at org.h2.command.dml.Insert.update(Insert.java:115)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:254)
at
org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
at h2Connector.UpdateLocalDB(dataBaseManager.java:105)
at h2Connector.<init>(dataBaseManager.java:34)
at dataBaseManager.main(dataBaseManager.java:8)
Caused by: org.h2.message.DbException: Class "org.jumpmind.symmetric.db.h2.H2Trigger" not found [90086-176]
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.util.Utils.loadUserClass(Utils.java:672)
at org.h2.schema.TriggerObject.load(TriggerObject.java:70)
... 12 more
Caused by: org.h2.jdbc.JdbcSQLException: Class "org.jumpmind.symmetric.db.h2.H2Trigger" not found [90086-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
... 15 more
Caused by: java.lang.ClassNotFoundException: org.jumpmind.symmetric.db.h2.H2Trigger
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.h2.util.Utils.loadUserClass(Utils.java:665)
... 13 more
我看到了类似的帖子 https://sourceforge.net/p/symmetricds/discussion/739236/thread/8a54e2ec/其中指出“从 SymmetricDS 主目录尝试此操作。H2 数据库需要用于 java 触发器的 SymmetricDS 库。”并引导使用命令
java -cp web/WEB-INF/lib/*:lib/h2-1.3.176.jar org.h2.tools.Console
我尝试使用它来运行我的代码,但遗憾的是无法弄明白。
这是我的 h2(本地端)属性文件:
engine.name=CRIS_Local-01
db.driver=org.h2.Driver
db.url=jdbc:h2:CRISDB;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000
db.user=sa
db.password=
registration.url=http://localhost:31415/sync/CRIS_Server-00
group.id=CRIS_Local
external.id=01
job.routing.period.time.ms=5000
job.push.period.time.ms=1000
job.pull.period.time.ms=1000
这是我的 mysql(服务器端)属性文件:
engine.name=CRIS_Server-00
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/PassDB?tinyInt1isBit=false
db.user=root
db.password=passwd
registration.url=
sync.url=http://localhost:31415/sync/CRIS_Server-00
group.id=CRIS_Server
external.id=00
job.purge.period.time.ms=7200000
job.routing.period.time.ms=5000
job.push.period.time.ms=1000
job.pull.period.time.ms=1000
auto.registration=true
initial.load.create.first=true
这是我建立连接的java代码:
h2Connector(){
stmt = null;
con = null;
try{
Class.forName("org.h2.Driver");
con = DriverManager.getConnection("jdbc:h2:~/Downloads/symmetric-server-3.10.2/tmp/h2/CRISDB;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000", "sa","");
stmt = con.createStatement();
System.out.println("Connected to h2 Succesfully!");
}catch(Exception e){
e.printStackTrace();
}
Passenger psg = GivePassenger(1,isOccupied);
System.out.println(psg.Name);
UpdateLocalDB(psg);
}
这是我的 UpdateLocalDB(Passenger psg)
public void UpdateLocalDB(Passenger psg){
String query = "";
query = "INSERT INTO passenger VALUES(";
query += Integer.toString(psg.PNRNo) + ", ";
query += "'"+psg.Name+"', ";
query += Integer.toString(psg.age)+", ";
query += "'"+psg.start+"', ";
query += "'"+psg.end+"', ";
query += Integer.toString(psg.seat) + ");";
System.out.println(query);
try{
stmt.executeUpdate(query);
System.out.println("Updated Succesfully!");
}
catch(Exception e){
e.printStackTrace();
}
}
查询部分工作正常PS:我是 SymmetricDS 的新手
最佳答案
同步 h2 数据库的应用程序的类路径上缺少 symmetricDs jar:symmetric-db-YOUR_VERSION.jar
。
关于java - 更新由 symmetricds 同步的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56788714/
我目前正在使用 SymmetricDS 3.8.27。我有一个逗号分隔的文件,其中包含数据库表的数据。是否可以使用 SymmetricDS 将该数据从 CSV 文件复制到 MySql 数据库表中?如果
我有一个运行 SymmetricDS 的 3 服务器。假设我的节点 1 是主节点,节点 2.node 3 是子节点。 当一些数据被插入到节点 2 时,它被同步到节点 1,类似地,节点 3 的数据正在与
我正在尝试使用 SymmetricDS pro v 3.7.23 配置一个复制的备份数据库 我使用 2 个文件:master.properties 用于主数据库: "external.id=serve
我感觉有点傻,我搜索答案并没有发现其他人遇到这个问题。 假设我有 NodeHQ、Node1 和 Node2。我已经创建了触发器来在 3 个之间同步 TableA,如下所示: Node1 NodeHQ
我已使用 Azure SQL 在 Azure Windows Server 2016 上为主数据库和从数据库设置了 SymmetricDS 节点。我现在想要在高可用性模式下设置 SymmetricDS
我需要为 SymmetricDS 创建一种新方言,以将数据从 MySQl/MSSql/Oracle 复制到新数据库(现在没有方言)。这个数据库有特定的sql。我已阅读http://www.symmet
我们正在尝试使用 SymmetricDS 将我们的 Microsoft SQL Server 模式复制到 MySQL 服务器, 我让它运行并且工作正常,但我需要采取的下一步是将 SymmetricDS
我们有一个 corp 节点和许多用于文件同步的存储节点。我们有从每个商店节点到公司节点的同步文件。不同店铺的源码目录不同。 我们可以使用 bean shell 脚本或任何扩展来动态更改文件触发器的基本
我正在使用对称 DS toll 进行数据库同步。每当我将一些字段插入主节点时,它应该流向从节点。 我检查了 sym_data 表,数据正在创建,但从属节点中没有更新数据,也没有存在错误的传出批处理。
我需要将数据从oracle迁移并同步到mysql。另外,我想要在同步和迁移期间进行数据转换,因为 mysql 的表设计与 oracle 不同。 我正在尝试使用 symmetryds 来实现我的目标,但
我有两个数据库:oracle 和 postgres。 SymmetricDS 在两个方向上同步表。似乎一切正常。但是我需要一个基于触发器的逻辑来“即时”更正插入/更新的行。此触发器必须位于 oracl
我将 SymmetricDS 与许多商店节点和一个公司节点一起使用。 我必须在存储节点中的表与公司节点中的表之间进行转换同步,并使用 sym_transform_table 和 sym_transfo
我需要编写代码,使用 SymmetricDS 并在按下按钮时同步两个数据库。 IE。我需要按下按钮,它显示它正在同步,然后当没有更多变化时它会说“一切正常”并让我继续操作。 除了确定一切都已同步的方法
我正在配置 SymmetricDS 3.6.12 的两个实例。服务器实例在 Glassfish 3 服务器中工作,使用 8181 端口作为 https。客户端实例作为服务运行(在 jetty 中),h
嗯,我正在尝试将数据从内存中的 DB1 迁移到我的 DB2。为此,我使用 SymmetricDS,其配置方式是,当 SymmetricDS 启动时,它将执行从 DB1 到 DB2 的初始加载。此外,每
我正在测试 SymmetricDS,我对应该使用哪种方法来同步某些特定的表有一些疑问。我有两个应用程序,第一个是 ERP,第二个是 PDV。有些表可以同步到所有 PDV 数据库,但是,在某些表中,行应
我正在尝试使用 SymmetricDS 为一个中心节点和许多客户端实现多主机双向同步。客户端仅与中央节点(星形拓扑)通信。我在处理主键冲突时遇到问题。 例如数据库包含带有列 id、name 的表“pe
INFO [client-001-job-3] o.j.s.s.impl.DataLoaderService - Using registration URL of http://localhost
我一直在尝试与 SymmetricDS 进行条件同步。问题是,无论我做什么,它都会忽略应该有条件同步的表,而只会无条件同步表。 所以我想,我错误地使用了这些条件。我在当前版本的用户指南中找不到此 Ma
我一直在从事一个涉及使用对称 ds 同步两个数据库的小项目。我的数据库之一是 mysql,另一个是 h2。我希望我的程序在单击时更新 h2 数据库。但是,更新函数会生成类似以下内容的错误: org.h
我是一名优秀的程序员,十分优秀!