当前位置: 代码迷 >> DB2 >> db2 回滚有关问题
  详细解决方案

db2 回滚有关问题

热度:3956   发布时间:2013-02-26 00:00:00.0
db2 回滚问题
初次接触BD2 想问问 它的回滚是怎么实现的

例如:

我有三条sql 语句 但是 到第三条的时候 出现错误 

我怎样回滚事务呢?

我的sql 是一条一提交的

希望大家帮帮忙

------解决方案--------------------------------------------------------
而且你的代码不觉得有问题吗?

for(int i=0 ; i < listSql.size(); i++ ){
PreparedStatement statement = getConnectin(driver, url, userName, pwd) .prepareStatement((String) listSql.get(i));
statement.execute((String) listSql.get(i));
statement.close();

每次执行一个sql,都要从新创建一个连接?这个sql如果能多,得不到那么多连接就不能执行了
你应该
try{
 Connection conn=getConnectin(driver, url, userName, pwd);
conn.setAutoCommit(false); 

for(int i=0 ; i < listSql.size(); i++ ){
PreparedStatement statement = conn .prepareStatement((String) listSql.get(i));
statement.execute((String) listSql.get(i));
statement.close();

conn.commit();
catch(Exception e){
conn.rollback();
}

类似这样写才对。
  相关解决方案