java项目中备份恢复数据

如何使用java程序备份和恢复MySql数据库?

java用开源的ssh jar包连接到b服务器执行备份/恢复命令,同样通过命令也可以获取到备份的文件信息,恢复数据库也是一样的,通过命令把文件传输到b服务器,通过命令进行还原

java项目中备份恢复数据

如何用Java实现MySQL数据库的备份和恢复

直接黏贴在IDEA上按格式查看

package com.liuzy.javaopen.servlet;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;public class Test {public static void main(String[] args) throws IOException{backup(“d:\\d.sql”);//recover(“d:\\d.sql”);}public static void backup(String path) throws IOException{Runtime runtime = Runtime.getRuntime();//-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字Process process = runtime.exec(“mysqldump -u root -pmysql goldenwing”);InputStream inputStream = process.getInputStream();//得到输入流,写成.sql文件InputStreamReader reader = new InputStreamReader(inputStream);BufferedReader br = new BufferedReader(reader);String s = null;StringBuffer sb = new StringBuffer();while((s = br.readLine()) != null){sb.append(s+”\r\n”);}s = sb.toString();System.out.println(s);File file = new File(path);file.getParentFile().mkdirs();FileOutputStream fileOutputStream = new FileOutputStream(file);fileOutputStream.write(s.getBytes());fileOutputStream.close();br.close();reader.close();inputStream.close();}public static void recover(String path) throws IOException{Runtime runtime = Runtime.getRuntime();//-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字,–default-character-set=utf8,这句话一定的加//我就是因为这句话没加导致程序运行成功,但是数据库里面的内容还是以前的内容,最好写上完成的sql放到cmd中一运行才知道报错了//错误信息://mysql: Character set ‘utf-8’ is not a compiled character set and is not specified in the ‘//C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\Index.xml’ file ERROR 2019 (HY000): Can’t// initialize character set utf-8 (path: C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\),//又是讨人厌的编码问题,在恢复的时候设置一下默认的编码就可以了。Process process = runtime.exec(“mysql -u root -pmysql –default-character-set=utf8 goldenwing”);OutputStream outputStream = process.getOutputStream();BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));String str = null;StringBuffer sb = new StringBuffer();while((str = br.readLine()) != null){sb.append(str+”\r\n”);}str = sb.toString();System.out.println(str);OutputStreamWriter writer = new OutputStreamWriter(outputStream,”utf-8″);writer.write(str);writer.flush();outputStream.close();br.close();writer.close();}}

JAVA程序怎样实现Oracle数据库备份和还原

oracle的备份和还原可以用命令行来实现

备份 exp system/manager@TEST file=d:\daochu.dmp full=y

还原 imp system/manager@TEST file=d:\daochu.dmp

将上面的备份、还原命令可以新建成bat文件。然后在java中可以运行bat文件

Runtime.getRuntime().exec(“cmd.exe   /C   start   D:\\test.bat”);

这样就实现了oracle的备份与还原。当然这里只是提供一个大概的思路,实际运用中可能需要备份某些数据,还原到其他数据库等。

用java代码实现Oracle数据库的备份与恢复(保存为.dmp或.sql)

备份:发送sql给mssqlserver:

backup database your database name to disk=’备份文件名’ with init

注意: 1.备份文件名必须为绝对路径,

2.备份文件只能是mssqlserver所在的机器上的路径, mssql支持备份到网络位置。

恢复:

restore database your database name from disk=’备份文件名’ with replace

要注意的是执行restore database时,要恢复的数据库必须没有任何客户端连接,包括自身(发起restore database命令的连接)。发使用restore,可以连接到master库,然后再发送restore命令。

否则,一定失败。

在jsp中如何用呢

————————————————————————————– 你用这个了!

%

先要连接上Connection对象!

就是要先和数据库建立起连接

然后在jsp页面中直接用我这样的语句就可以了

try{

String sql=”backup database xncsims to disk=’d:\\xncback.dat'”;

st=con.createStatement();

rs=st.executeQuery(sql);

}

catch(SQLException e){ System.out.println(e.toString());}

catch(Exception e){ System.out.println(e.toString());}

%

rs=st.executeQuery(sql);

这里就是把你的SQL语句发到数据库执行

另有一篇论文供参考

B/S结构中,java如何实现oracle数据备份和恢复

一般B/S结构不建议在用代码来备份oracle数据和恢复数据,因为这样会导致数据库暂停工作,影响程序运行。

可以这样做:、可以先写个.bat脚本,然后使用自定义任务,定时执行脚本实现备份或恢复。如果一定要在代码中实现备份或恢复,那么可以在程序中调用、执行命令备份恢复。如:Runtime.getRuntime().exec(“imp system/manager file=bible_db log=dible_db full=y ignore=y “);

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月25日 07:51:44
下一篇 2024年3月25日 07:56:56

相关推荐

  • aspexcel未找到项目,xlsread未找到工作表

    ASP读取EXCEL有某一列的数据读取不到,显示为空? 1、可以考虑采用“ewebeditor”控件,我用的asp版本,刚好在做一个excel倒入项目,不过还在纠结如何读取xls中单元格内容的超链接。 2、if not (rsexcel.bof and rsexcel.eof)while do 比较乱。我模仿你的思路成功了。 3、rst(语文)=rs(2)r…

    2024年5月23日
    4600
  • java二维数组获得数据,java二维数组用法

    java中怎样用一位数组获得二维数组中某一行的值 利用 for循环遍历数组 即可 for循环是开界的。 Number : Name : A : B : Value;通过读取指定的列名,你可以得到,列名在数组中对应的索引值。 其实多维数组是在一维数组的基础上进行变换的,就拿二维数组来说,它是在一维数组上存储一维数组。 得到一维数组的长度lenth,如果长度为8…

    2024年5月23日
    4500
  • excel中逐个叠加数值,excel数据叠加

    Excel表中如何将一列的数值全部加上一个数值,并且覆盖原有的数值呢? 1、打开EXCEL表格,在其中一个单元格输入要“加”的数值,复制。选择单元格中要“加”的数据,点击“粘贴”–选择性粘贴—加,即可。 2、假设一个表格(如图一),将A列的数值分别加上5,然后在B列中快速获得所要的相加结果。 3、EXCEL给每列数值增加一个固定的数值…

    2024年5月23日
    6000
  • java获取项目上传路径,java获取项目根路径

    java获取当前项目的路径 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用System.getProperty(user.dir)获取工程的绝对路径。 getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。 File类有两个常用方法可以得到文件…

    2024年5月23日
    4300
  • java将数据分类存进二维数组,java将二维数组保存在文件

    java怎么从mysql查询出来的结果转化为二维数组,举个例子 把你二维数组中的所有数据拼接起来,用“,”连接,组成一个长的字符串,存入数据库。进行其他操作时,可先将该字符串解析,原理和普通的字符串是一样的。 –这儿存在两种情况:字符串不存在分隔符号 字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔…

    2024年5月23日
    4400
  • excel重复输入提醒,表格数据输入重复怎么提醒

    怎样设置excel,使得同一列输入数字重复时,显示提示 1、在 Excel 菜单栏上选择“开始”选项卡,然后单击“条件格式”。在条件格式下拉菜单中选择“突出显示单元格规则”,然后选择“数值”。在数值下拉菜单中选择“重复值”。 2、开启EXCEL表格,选择整列单元格,点选“开始”–条件格式–突出显示单元格规则。选择”重复值“设定突出显示…

    2024年5月23日
    4900
  • java动态生成复选框,java复选框如何回显数据

    如何用javaScript实现复选框的联动? 很简单,给表格一个ID,ID=form1,再给个参数sty;e=display:none;然后JavaScript写 function open(){document.getElementById(form1).style.display=block} 在按钮上写JavaScript:open();好了,试试看。…

    2024年5月23日
    4300
  • excel怎么回归分析数据,excel中怎么进行回归分析

    Excel怎样做回归分析呢? 1、点击文件 点击左上角的【文件】。点击选项 点击左下角的【选项】。点击加载项 弹出Excel选项窗口框,点击左边的【加载项】。点击分析工具库 点击右边的【分析工具库】。点击转到 点击下面的【转到】。 2、方法如下:选择成对的数据列,将使用“X、Y散点图”制成散点图。在数据点上单击右键,选择“添加趋势线”-“线性”,并在选项标签…

    2024年5月22日
    4300
  • java中ra项目,idea创建java项目

    用java定义一个一维数组,其中随机生成500个1到50之间整数,输出出现最多… Math类的random()方法可以生成[0,1)之间的随机浮点数。double类型数据强制转换成int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失。int b=(int)(Math.random()*10);//生成[0,9]之间的随机整数。 …

    2024年5月22日
    3900
  • java项目经验模板,Java项目经验

    Java软件开发工程师个人简历模板 1、扎实的JAVA基础知识,熟悉面向对象编程思想,熟练MVC设计模式。 2、年应届毕业生个人简历模板(一) 姓名:xxx 性别:xx 年龄:xx 学历:本科 毕业院校:xxx 专业:xxx 电子邮箱:xxx 联系电话:xxx 通信地址:xxx 毕业院校:xxx 主修课程: 汇编语言程序设计、JAVA程序设计、数据库原理、操…

    2024年5月22日
    5200

发表回复

登录后才能评论



关注微信