通过Java恢复Derby数据库
我正在尝试通过Java恢复ApacheDerby数据库。在研究过程中,我发现了以下页面。据我所知,我需要与服务器建立一个运行连接,并使用给定的URL进行恢复通过Java恢复Derby数据库,java,jdbc,derby,restore,Java,Jdbc,Derby,Restore,我正在尝试通过Java恢复ApacheDerby数据库。在研究过程中,我发现了以下页面。据我所知,我需要与服务器建立一个运行连接,并使用给定的URL进行恢复 我不确定如何使用此URL重新启动和还原Java中正在运行的服务器。我已使用创建的备份文件成功还原了derby数据库。问题是我需要先关闭数据库,然后再尝试恢复它 但现在我遇到了另一个问题。在数据库关闭和以下恢复之后,数据库不会自动启动。我曾尝试注册一个新的驱动程序或将shutdown属性设置为false,但这些都无法通过Java重新启动数据库
我不确定如何使用此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()。当然,请确保使用测试数据库测试您的程序。