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

标签 java sql-server oracle hibernate spring

我有一个 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 是否适合管理多个数据库连接,还是太过分了?

也欢迎提出更好的解决方案:)

谢谢

最佳答案

Spring 有广泛的support for scheduling tasks .

通过不同的驱动程序对多个数据库运行查询是一个基本的 JDBC 功能; Spring 在那里并不真正相关 - 除非您希望它发生在单个(分布式)事务中。 Spring 确实support those via JTA and XA .

关于java - Spring/Hibernate 是否适合需要异构数据库连接的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125025/

相关文章:

java - 如何制作带有换行文本的自动调整大小的 Swing 弹出窗口?

php - SQL-Server 'uniqueidentifier' 列类型到 MySQL 的迁移问题

sql-server - SQL 服务器 : Key Lookup without Clustered Index

c++ - 简单查询需要几分钟才能在终止/非事件 session 上执行

oracle - PLS-00103 : Encountered the symbol ";" when expecting one of the following:

java - 在 Oracle PL/SQL 中调用存储过程

java - 当我对自引用实体进行查询时出现 SQLException

java - 为什么我需要用finally来关闭资源?

java - 合并实体后的 Flush() 问题

sql-server - 使用params在另一个数据库中执行存储过程