日期:2014-05-16  浏览次数:20364 次

java 调用sql server 2000 存储结构进行数据库的备份与恢复

熟悉Java的程序员一看标题感觉会很彪,java与sql server 结合是非常不好的,尤其在大数据的存储方面,为后期的开发又维护增加的障碍,但是有些时候具体用什么软件开发项目不是我们能主宰的,所有就只能进最大的可 能完成。
存储过程我已经在上一篇转载完了,具体作者我不知道,我已经进行测试过了,是好用,在根据项目的具体情况加以修改。
数据库连接部分我这里也省略了,我相信大家都会的!
/***
* 数据库备份
* @param db_url 数据库备份路径及名称
* @return
*/
public String backup_DB(String db_url) {
String returnStr = "";
String db_name = "数据库名称";
CallableStatement call = null;
try {
call = conn.prepareCall("{call pr_backup_db(?,?,?)}");
call.registerOutParameter(1, Types.VARCHAR);
call.setString(2, db_name);
call.setString(3, db_url);
call.execute();
returnStr = call.getString(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
call.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

return returnStr;
}
/*** * 数据库恢复
* @param db_url 数据库恢复路径及名称
* @return
*/
public String restore_DB(String db_url) {
String returnStr = "";
String db_name = "数据库名称";
CallableStatement call = null;
try {
call = conn.prepareCall("{call pr_restore_db(?,?,?)}");
call.registerOutParameter(1, Types.VARCHAR);
call.setString(2, db_name);
call.setString(3, db_url);
call.execute();
returnStr = call.getString(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
call.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return returnStr; }