Spring / Hibernate是否适合需要异构数据库连接的用例?

问题描述

| 我有一个Oracle数据库,该数据库每周运行一次PL / sql作业,以使用Oracle数据库链接将数据从Oracle数据库中的表复制到另一个Oracle数据库。两种系统都在Unix / Solaris上运行。该作业是通过Unix Cron工具安排和执行的。 现在,正在使用Msql Server数据库将远程计算机从UNIX迁移到Windows平台。我一直在研究使用Oracle数据库链接从UNIX连接到将在Windows平台上运行的MSsql Server数据库的可能性。这是可能的,但是在我看来,要让它工作起来需要很多摆弄,并且关于如何实现它的信息不多。 我正在考虑的另一个解决方案是将该过程实现为每周运行一次的Java守护进程。它要做的就是连接到Oracle数据库,从某些表中读取数据,连接到MSsql Server数据库,并运行一些插入命令。我认为我需要两种驱动程序-即Oracle的jdbc和MSsql Server的jdbc。 Spring是否提供任何设施可以使上述内容易于实现和/或维护? (特别是需求的多个驱动程序和调度部分) Hibernate是否适合管理多个数据库连接? 还可以提出更好的解决方案:) 谢谢     

解决方法

Spring对计划任务提供了广泛的支持。 通过不同的驱动程序对多个数据库运行查询是JDBC的基本功能。 Spring在那里并不重要-除非您希望它发生在单个(分布式)事务中。 Spring确实通过JTA和XA支持它们。     ,这听起来像是Spring Batch的完美应用程序 您应该检查以下页面以了解其内容: 特征 用例 Spring Batch将愉快地使用不同的驱动程序接受不同的数据源,但是您可能必须提供一些“ 0”对象来创建临时对象。