0

当我执行语句(基本插入、更新、删除)时,有没有一种方法可以使用 JDBC 来定位多个数据库。

例如,假设服务器 [200.200.200.1] 和 [200.200.200.2] 都有一个名为 的数据库MyDatabase,并且数据库完全相同。我想同时"INSERT INTO TestTable VALUES(1, 2)"在两个数据库上运行。

关于 JTA/XA 的注意事项:

我们正在开发一个 JTA/XA 架构,以在同一个事务中针对多个数据库,但它还需要一段时间才能准备好。如果可能的话,我想使用标准的 JDBC 批处理命令并让它们现在访问多个服务器。我意识到这不是交易安全的,我只是不想让命令同时访问两台服务器进行基本测试。

4

2 回答 2

2

每个数据库需要一个连接。一旦你有了这些,标准的自动提交/回滚调用就会起作用。

你可以试试春天;它已经设置了事务管理器。

即使您不使用 Spring,您只需在 CLASSPATH 中获取 JDBC 驱动程序 JAR 的 XA 版本即可。如果没有它们,两阶段提交将不起作用。

我想知道使用数据库进行复制是否不是一个更好的主意。为什么中间层应该关心数据库集群?

于 2012-11-28T14:18:13.377 回答
1

最好的快速和肮脏的开发方式是使用多个数据库连接。它们不会在同一个事务中,因为它们处于不同的连接中。如果这只是为了测试,我认为这不是什么大问题。

当您的 JTA/XA 架构准备就绪时,只需将其插入已经工作的代码中。

于 2012-11-28T14:22:38.690 回答