2013-06-05 107 views
2

我有一個問題,請幫助我。從一個數據庫讀取數據並將其存儲在其他數據庫中

我有一個包含10個表的本地數據庫。我的工作是從每個表中讀取數據(在某些情況下從每個表中選擇數據),然後將這些數據存儲在遠程數據庫中。遠程數據庫具有相同的10個本地數據庫中的表。簡單的說,我必須將數據從本地數據庫移植到遠程數據庫。

+1

首先,您使用什麼數據庫?... – Aquillo

+0

對於本地數據庫我使用火鳥和遠程數據庫我使用Java中使用MySQL的 –

回答

1

製作存儲過程,執行從本地數據庫到遠程數據庫的複製。從你的java程序調用存儲過程。這隻有在您的數據庫實現支持從不同實現中鏈接到遠程數據庫時纔有可能。

從JAVA編程這似乎是一個可怕的想法,除非沒有其他方式。

0

非常基本的一個簡單的方法來實現這一目標是使用jdbc

首先,你需要連接到每個數據庫中,你需要一個jdbc driver你必須處理每個數據庫系統,jdbc驅動程序是一個實現jdbc API的庫,它由每個數據庫供應商的數據庫系統。

請參閱this link,其中顯示瞭如何建立與數據庫的連接。

你已經建立後Connection您可以創建一個Statement檢索和更新數據。檢索的數據返回ResultSet

This link顯示你如何做到這一點。

總之,你需要做以下步驟

  1. 創建Connection源數據庫
  2. 創建Statement併發送select查詢源數據庫
  3. 使用檢索reulsts的Resultset和保存的一些POJO
  4. 集合中關閉ResultSetStatement和源達的Connection tabase
  5. 創建Connection到目標數據庫
  6. 創建Statement併發送update/insert into查詢到目標數據庫
  7. 關閉ResultSetStatement
  8. 完成目標數據庫的Connection
+0

「使用結果集檢索reulsts並保存在某個POJO的集合中」您知道任何執行此操作的api,或者我必須遍歷結果集並將該數據放入pojo中? –

+0

@WaqasAli在這種情況下,您可能需要查看[Java持久性API](http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html)。然後您將需要處理[實體](http://docs.oracle.com/javaee/6/tutorial/doc/bnbqa.html)和[EntityMangers](http://docs.oracle.com/javaee) /6/tutorial/doc/bnbqw.html)。對於'JPA'來說,所有的工作都像我在上面描述的那樣在引擎蓋下完成。 – A4L

+0

@WaqasAli你也可以使用hibernate進行此操作。 – Freak

相關問題