异常: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";            //恢复数据库的所有连接

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值