0
我試圖通過Java恢復Apache Derby數據庫。在研究中,我發現了以下頁面http://db.apache.org/derby/docs/10.3/adminguide/tadminhubbkup44.html。據我所知,我必須有一個連接到服務器的連接,並使用給定的URL來進行恢復。通過Java恢復Derby數據庫
我不確定如何使用此URL在Java中重新啓動和恢復正在運行的服務器。
我試圖通過Java恢復Apache Derby數據庫。在研究中,我發現了以下頁面http://db.apache.org/derby/docs/10.3/adminguide/tadminhubbkup44.html。據我所知,我必須有一個連接到服務器的連接,並使用給定的URL來進行恢復。通過Java恢復Derby數據庫
我不確定如何使用此URL在Java中重新啓動和恢復正在運行的服務器。
我已設法使用創建的備份文件恢復derby數據庫。問題是我需要在嘗試恢復數據庫之前關閉數據庫。
但現在我遇到了另一個問題。數據庫關閉和以下恢復後,數據庫不會自動啓動。我試圖註冊一個新的驅動程序或將shutdown屬性設置爲false,但沒有一個能夠通過Java重新啓動數據庫。
這是我到目前爲止的代碼:
public boolean restore() throws DataSourceException {
String databaseName = "jdbc:derby://localhost:1527/sun-appserv-samples;restoreFrom="+ getRestorePath() +"sun-appserv-samples";
String delete = "jdbc:derby://localhost:1527/sun-appserv-samples;shutdown=true";
try {
DriverManager.getConnection(delete);
} catch (SQLException e) {
Connection con;
try {
con = DriverManager.getConnection(databaseName);
con.commit();
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
} catch (ClassNotFoundException e1) {
} catch (InstantiationException e1) {
} catch (IllegalAccessException e1) {
}
con = DriverManager.getConnection("jdbc:derby://localhost:1527/sun-appserv-samples;create=true");
con.commit();
return true;
} catch (SQLException e1) {
}
}
return false;
}
什麼都沒有你確定?你似乎已經找到了文檔,而且你似乎明白他們說的是什麼。剩下的唯一事情就是編寫一個Java JDBC程序,它使用適當的URL調用DriverManager.getConnection()。當然,確保使用測試數據庫測試您的程序。 –