2011-05-25 48 views
5

我有一個每週運行一次PL/SQl作業的Oracle數據庫,可以使用Oracle數據庫鏈接將數據從Oracle數據庫中的表複製到另一個Oracle數據庫。這兩個系統都在Unix/Solaris上運行。這項工作是通過Unix Cron工具計劃和執行的。Spring/Hibernate是否適合需要異構數據庫連接的用例?

遠程計算機現在正從UNIX遷移到具有MSQL Server數據庫的Windows平臺。我一直在研究使用Oracle數據庫鏈接從UNIX連接到將在Windows平臺上運行的MSSQL Server數據庫的可能性。這是可能的,但在我看來,有很多擺弄它的工作,並沒有太多關於如何實現它的信息。

我想到的另一個解決方案是將該流程作爲每週運行的Java守護進程實現。它所要做的就是連接到Oracle數據庫從某些表中讀取數據,連接到MSSQL Server數據庫並運行一些插入命令。我想我需要兩種驅動程序 - 例如jdbc for Oracle和jdbc for MSSQL Server。

Spring是否提供任何便於實現和維護的工具? (具體是多個驅動程序和調度部分的要求)

Hibernate是否適合管理多個數據庫連接還是那個過度殺毒?

隨意也提出一個更好的解決辦法:)

感謝

回答

2

春天有廣泛的support for scheduling tasks

通過不同的驅動程序針對多個數據庫運行查詢是一項基本的JDBC功能;除非你希望它在一個單獨的(分佈式)交易中發生,Spring並不是真的有意義。春天做support those via JTA and XA

+0

Hibernate是否適合管理多個數據庫連接或者是過度殺毒? – ziggy 2011-05-25 14:53:09

+0

@ziggy:它當然可以用於這個,但如果你所做的只是將數據從一個表複製到另一個表而不修改它,我肯定會認爲它過度。 – 2011-05-25 14:58:12

+0

是的,這是我的想法。謝謝 – ziggy 2011-05-25 15:39:16

2

這聽起來像Spring Batch

一個完美的應用程序時,應該檢查這些頁面,看看它是關於:

Spring Batch將樂意接受不同數據源與不同的驅動程序,但您可能需要提供一些RowMapper對象來創建臨時對象。

相關問題