我有一个Oracle数据库,每周运行一次PL / SQl作业,使用Oracle数据库链接将数据从Oracle数据库中的表复制到另一个Oracle数据库。两个系统都在Unix / Solaris上运行。该作业通过Unix Cron工具进行安排和执行。
现在,远程计算机正从UNIX迁移到具有MSQL Server数据库的Windows平台。我一直在研究使用Oracle数据库链接从UNIX连接到将在Windows平台上运行的MSSQL Server数据库的可能性。这是有可能的,但它看起来像是有很多摆弄让它工作,并没有很多关于如何实现它的信息。
我想到的另一个解决方案是将进程实现为每周运行的Java守护程序进程。它所做的只是从一些表连接到Oracle数据库读取数据,连接到MSSQL Server数据库并运行一些插入命令。我想我需要两种驱动程序 - 即Oracle的jdbc和MSSQL Server的jdbc。
Spring是否提供任何可以使上述内容更容易实现和维护的工具? (特别是多个驱动程序和要求的调度部分)
Hibernate是否适合管理多个数据库连接,还是过度杀伤?
随意提出更好的解决方案:)
谢谢
答案 0 :(得分:2)
这听起来像是Spring Batch
的完美应用您应该查看这些页面,看看它是什么:
Spring Batch将很乐意接受具有不同驱动程序的不同数据源,但您可能必须提供一些RowMapper
个对象来创建临时对象。
答案 1 :(得分:2)
Spring有广泛的support for scheduling tasks。
通过不同的驱动程序对多个数据库运行查询是一项基本的JDBC功能; Spring并不是真正相关的 - 除非你希望它发生在单个(分布式)事务中。 Spring会support those via JTA and XA。