前言:
当前你们对“java 数据库备份”大致比较重视,小伙伴们都需要了解一些“java 数据库备份”的相关资讯。那么小编同时在网摘上收集了一些关于“java 数据库备份””的相关文章,希望我们能喜欢,小伙伴们一起来学习一下吧!白雨青工作站:
一直想写一个定时执行的数据库备份工具,今天抽时间上网查了相关资料后,实现了一下
import java.io.File;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.Date; public class BackupDataBase { public void Backup(String back_path,String dbname){ String name =dbname+"-backup-"+ new SimpleDateFormat("yyyy-MM-dd-HHmmssSSS").format(new Date()); //文件名 File file = new File(back_path); String path = file.getPath() + File.separator + name + ".bak";// name文件名 String bakSql = "BACKUP DATABASE "+dbname+" TO DISK=N'" + path + "'" + " WITH NOFORMAT, NOINIT, NAME=N'database_test-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS=10"; Connectionfactory c = new Connectionfactory(); Connection conn = c.getconn(); PreparedStatement ps; try { ps = conn.prepareStatement(bakSql.toString()); ps.execute(); System.out.println("数据库备份成功!"); System.out.println("数据库备份路径:"+path); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("数据库备份失败!"); } } public static void main(String[] args){ BackupDataBase b = new BackupDataBase(); String back_path = args[0]; String dbname = args[1]; System.out.println("back_path:"+back_path); System.out.println("dbname:"+dbname); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 long begin = new Date().getTime(); System.out.println("开始备份数据库:"+dbname); System.out.println("开始时间:"+df.format(new Date())); b.Backup(back_path,dbname); long end = new Date().getTime(); System.out.println("结束时间:"+df.format(new Date())); System.out.println("用时多少秒:"+(end - begin)/1000); }}
SQL server 的链接类这里就不放出来了
打包好后生成jar文件,写好bat文件,方便后面的定时执行。
bat 代码:
@echo offecho 当前CMD默认目录:%cd%echo 文件路径:%cd% ::运行jar文件 后跟的几个参数 1、备份路径 2、备份数据库 %cd%\jre\bin\java -jar BackupDataBaseV1.1.jar "F:\\数据库备份\\POSERP" "POSERP" ::pause
执行界面:
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java 数据库备份