`
bhw1015
  • 浏览: 90169 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a

 
阅读更多

使用 sqlserver 的 手动事务处理,实现多条sql语句的顺序执行,当遇到操作失败时能够数据回滚。

在我使用 过程中发现了java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode. 错误。

解决办法是将:数据库连接语句加上 “SelectMethod=cursor ”

例:String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=enterprise;SelectMethod=cursor";

    public void transSet() throws SQLException {
        flag_conn = true;
        conn = DriverManager.getConnection(url, user, password);
        conn.setAutoCommit(false);

    }

手动事务处理代码:

    public void transCommit() throws SQLException {
        conn.commit();// 提交jdbc事务
        conn.setAutoCommit(true);// 恢复jdbc事务的默认提交方式
        flag_conn = false;
        conn.close();
    }

    public void transRollback() throws SQLException {
        conn.rollback();// 回滚事务
        flag_conn = false;
        conn.close();

    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics