zoukankan      html  css  js  c++  java
  • 异常:Hibernate数据库恢复错误

    环境及情况说明

      环境:sqlserver2008,Struts1.2和Hibernate;

      1、使用Hibernate获得数据库的连接,在hibernate中 使用的都是Transaction事务管理器,这个是一个事务,在其中调用备份数据库语句的时候会出现异常

        不能在事务内部执行备份或还原操作

      的警告;

        解决方法:使用下列语句获得连接,

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                if (conn==null||conn.isClosed()) {
                    conn =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=DMS","r00t","000");
                }

       2、现在可以对数据库进行备份操作,但是不能进行恢复操作,因为恢复需要独占数据库使用权,

        解决方法:使用下列sql语句,创建PreparedStatement

        String sql = "Alter DataBase DMS SET OFFLINE WITH ROLLBACK IMMEDIATE " +         //断开数据库的所有连接
                           "use master restore database ? from disk=? with replace " +                    //恢复数据库
                            "Alter DataBase DMS SET ONLINE WITH ROLLBACK IMMEDIATE";            //恢复数据库的所有连接

        现在既可以备份数据库,又可以恢复数据库啦~~~

  • 相关阅读:
    linux下安装vsftp
    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
    Centos编译安装PHP 5.5笔记
    centos使用更新更快的yum源
    使用Android Studio搭建Android集成开发环境
    设计模式(三)原型模式
    overridePendingTransition
    Android手势密码实现
    UserInfoActivity用户图像修改和退出登录
    设计模式(二)建造者模式
  • 原文地址:https://www.cnblogs.com/forlina/p/2106993.html
Copyright © 2011-2022 走看看