龙空技术网

Java SQL server 数据库备份

白雨青 151

前言:

当前你们对“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 数据库备份