数据库还原

原创 2007年09月11日 16:59:00

地址 :http://dl2.csdn.net/down4/20070911/11165453513.bat
  * 恢复数据(mysql中cnids_manager数据库中的数据)
  * 根据用户上传的文件恢复数据库
  *  主要步骤:
  *      1.通过上传的FormFile获得文件输入流
  *      2.创建一个输出流,没有路径的,系统会默认保存到tomcat/bin目录里面
  *      3.获得保存文件的绝对路径
  *      4.从配置文件中获取数据库信息(帐户,密码,IP地址)
  *      5.执行批处理文件恢复数据(将3,4的信息作为参数传入批处理文件)
  */
 public void resume(FormFile file) throws Exception {
  String fileName = null;
  if (file != null && file.getFileName().length() > 0) {            //判断上传文件是否为空
   fileName = file.getFileName();                                //获取文件名
   InputStream streamIn = file.getInputStream();                 //获得上传文件的输入流
   OutputStream streamOut = new FileOutputStream(fileName);      //构建一个输出流,生成的文件将会保存在tomcat/bin目录下
   int bytesRead = 0;
   byte[] buffer = new byte[1024];
   
   //循环的将上传的文件写入到fileName里面
   while((bytesRead = streamIn.read(buffer, 0, 1024)) != -1) {
    streamOut.write(buffer, 0, bytesRead);
   }
   //关闭输出流
   streamOut.close();  
   
   streamIn.close();                                             //关闭输入流
   file.destroy();                                               //销毁file
   
   File tempFile = null;
   
   tempFile = new File(fileName);                              
   String absolutePath = tempFile.getAbsolutePath();            //获得绝对路径,在tomcat/bin目录下
   log.info("absolutePath: " + absolutePath);
   
   String commondStr = "";
   String mysqlUserName = Util.getProperty("mysql_username");   //数据库帐户
   String mysqlPassword = Util.getProperty("mysql_password");   //数据库密码
   String host = Util.getProperty("mysql_host");                //数据库IP地址
   
   String dateHandleDir = Util.getProperty("dateHandleDir");   //批处理文件路径
   String resumeDir = dateHandleDir+"resume.bat";
    //resumeDir是恢复数据库的批处理文件地址,后面的是需要传入的参数
    commondStr = "/""+resumeDir + "/"" + " " + mysqlUserName + " " + mysqlPassword + " " + host + " " + "/""+absolutePath + "/"";
                                       //mysqlUserName数据用户名 ,mysqlPassword为密码,host为主机名,absolutepath为上传的文件的绝对路径
   log.debug("commondStr: " + commondStr);
   Runtime cmd = Runtime.getRuntime();
   boolean haveError = false;
   Process p = cmd.exec(commondStr);        //执行这个还原的批处理文件      
   String line;
   p.getOutputStream().close();
   BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));    //读取错误信息
   
   while ((line = br.readLine()) != null) {     //如果错误信息不为null说明出错了
    //发生错误
    log.info("<<<<<<<" + line);
    haveError = true;    
   }
   
   if (haveError) {
    //恢复数据库时发生错误
    throw new CnidsException(Constants.FAIL_RESUME_SQL);
   }
//}

      tempFile.delete();                  //操作完成,删除tempFile文件
   }
 } 

 

Linux上还原备份的ORACLE数据库

命令:impdp: Impdpwsdt/wsdt@testdb table_exitst_actio=replace directory=DATA_PUMP_DIR dumpfile=wsdt11...
  • zouhuu
  • zouhuu
  • 2016年11月26日 16:43
  • 1634

数据库设计备份还原(二)

博客续集还是第一次写呢,尝试一次,紧接着上篇数据库设计备份还原(一)来说我们的数据库脚本导出,备份,还原和分离。 【脚本导出】 选中数据库右击——任务——生成脚本 这样我们就可以当数据库损坏是进行重新...

pgAdmin快速备份还原数据库

简单记录pgAdmin备份和还原数据库的操作步骤

MySQL的备份与还原以及常用数据库查看命令

MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv...

数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

三大数据库 mysql  oracle  sqlsever   更专业、更强悍、适合不同用户群体 【新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统】 A 调用摄像头拍照,自定义...

SqlSever 数据库批量备份&还原 脚本

批量备份脚本 Use master GO /*=================Usp_BackUp_DataBase======================== =====BackUp S...

mysql 数据库备份 还原 导入sql文件的命令方法

备份数据库:mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库...

Sql Server--还原备份的数据库

.bak文件是SqlServer数据库备份文件的后缀,之前竟然不知道……,下面就梳理下针对于.bak的数据库备份文件如何将其附加到Sql Server中。                      ...

oracle数据库的备份与还原(本地及远程操作)

执行环境:  可以在SQLPLUS.EXE或者DOS(命令行)中执行,  DOS中可以执行时由于 在oracle 8i 中  安装目录\ora81\BIN被设置为全局路径,  该目录下有EXP.EXE...

SQL Server 2008数据库创建,备份,还原图解及注意点

一、新建数据库 步骤1:点击“新建数据库”。 步骤2:输入数据库名称,设置数据库文件保存位置(注意点:最好自己设置数据库文件保存位置,不要采用安装时默认的文件保存位置!),点击“确认”即可完成...
  • tiana0
  • tiana0
  • 2013年10月12日 16:32
  • 11341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库还原
举报原因:
原因补充:

(最多只允许输入30个字)