报错如下:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
转载:http://www.zjsyc.com/blog/
使用 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();
}