我需要創建項目,其中有兩個本地和遠程數據庫。遠程數據庫需要每天與本地數據庫同步,以反映本地數據庫中所做的更改。 我正在使用JAVA。數據庫是ORACLE。我有JAVA/JPA代碼在本地數據庫上執行CRUD操作。 如何同步對遠程數據庫的更改。如何在JAVA中同步遠程數據庫與本地數據庫
回答
我不會做這在Java中,但看看本機Oracle數據庫的同步機制/工具。這將
- 是更快地實現
- 是更強大的
- 有更快的複製事件
- 更'正確'
請看一些同步產品。從我工作的Sybase的SQL Anywhere就是這樣一種產品。您可能能夠獲得可用於探索選項的開發人員/評估副本。我相信甲骨文也有類似的東西。
的基本思路是要能夠跟蹤在中央數據庫中發生的變化。這通常是通過爲每一行保留一個時間戳來完成的。在同步過程中,遠程數據庫提供最後一次同步時間,服務器向其發送自那時起已更改的所有行。請注意,已在中央數據庫中刪除的行將需要一些特殊處理,以確保它們從遠程數據庫中被刪除。
真正的雙向同步要複雜得多。您還需要將來自遠程數據庫的更改上傳到中央服務器,並且在遠程數據庫和中央數據庫中同一行以不兼容的方式更改了同一行時,還必須實施一些衝突解決策略。
普遍的問題是非常複雜,這裏要輸入反應來解釋,但我希望我已經能夠提供一些有用的指針。
的問題是,你所要求的範圍可以從中等難度(一種簡單,不是非常強大的系統),以一個非常複雜的產品,它可以保持一個小團隊忙碌根據需要一年的時間。
這就是爲什麼其他的答案說:「找到另一種方式」(基本)
如果你有一類作業什麼的做到這一點,這是可能的,但它可能不會是快速,穩健的或容易。
你需要服務器軟件的每一面,一種將未知表格轉換爲可通過網絡傳輸的數據的方式(以及足夠的元數據以在另一側重新創建它),並且您可能需要跟蹤數據庫的變化(可能帶有標誌或時間戳),以便您不必每次都發送每條記錄。
這是一個困難的問題不夠,我們不能真正幫助不大。如果我必須爲客戶做到這一點,我會引用他至少一年的工作時間,以使其適度可靠。
好運
Oracle擁有複雜的複製功能來同步數據庫。 Find out more.。
從您的意見中可以看出您使用的是Oracle Lite:它支持複製,其覆蓋範圍爲the Lite documentation。
決不它的工作,但http://symmetricds.codehaus.org/可能是使用
還有http://opensource.replicator.daffodilsw.com/ – vlddrak 2010-06-23 08:57:02
- 1. 本地數據庫與遠程web服務數據庫同步
- 2. OrientDB - 將本地數據庫與遠程數據庫同步
- 3. 將遠程數據庫與本地數據庫同步
- 4. 如何同步遠程服務器數據庫與本地數據庫
- 5. 如何將本地導軌數據庫與遠程數據庫同步?
- 6. 如何使用Django同步本地數據庫與遠程數據庫?
- 7. Neo4j - 如何同步本地數據庫與遠程neo4j數據庫服務器
- 8. 同步本地數據庫與遠程數據庫,反之亦然
- 9. Android應用程序數據庫與遠程數據庫同步
- 10. 同步嵌入式數據庫與遠程數據庫
- 11. 與遠程數據庫ipad同步數據庫
- 12. 與遠程數據庫同步Azure SQL數據庫
- 13. CodeIgniter:如何同步本地和遠程數據庫
- 14. iphone本地數據庫與遠程服務器主同步
- 15. 同步本地SQLite數據庫與服務器SQLite數據庫
- 16. 同步本地數據庫windows phone與數據庫服務器
- 17. 同步本地數據庫(Sqlite)與服務器數據庫android
- 18. 將Azure數據庫與本地數據庫同步
- 19. 如何將遠程數據庫與MongoDB和nodejs中的本地數據庫同步?
- 20. 與本地數據庫和遠程數據庫的Android項目
- 21. 如何同步SQLite核心數據庫與遠程MySQL數據庫?
- 22. 在Android應用程序與遠程MySQL數據庫同步SQLite數據庫
- 23. 在線數據庫數據與本地sqlite數據庫同步android
- 24. 當使用asyncStorage時與遠程數據庫同步數據
- 25. 如何將mysql本地數據庫與AWS雲數據庫同步
- 26. 同步本地數據庫(sqlce)到遠程sql服務器
- 27. 將遠程數據庫同步到本地?
- 28. 同步本地和遠程的MS Access數據庫
- 29. 使用phpMyAdmin同步MySQL遠程和本地數據庫
- 30. 同步本地和遠程MySQL數據庫
能否請你指出他們中的一些,我在甲骨文精簡版oracle.com/database/lite_edition.html – Xinus 2009-09-12 17:24:20
沒達到,我認爲最好的辦法是在SO上打開一個新的問題。我可能會了解其中的一些,但我不知道你的具體情況。新的SO問題就像*「如何同步兩個Oracle Lite數據庫?」*確保儘可能多地提供版本(操作系統,Oracle,網絡拓撲),配置,數據庫大小等信息。這真的是*不* Java問題。 (我知道Java,我不知道甲骨文,但我知道一般的數據庫管理系統。)在這裏評論如果你想要導引在堆棧溢出問這裏一個新的問題。 – 2009-09-12 20:20:33