首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

两个SQL设成一个事务时报错,系统回滚,该怎么解决

2011-12-30 
两个SQL设成一个事务时报错,系统回滚Connection conn nullPreparedStatement pstmt nullconnDbMana

两个SQL设成一个事务时报错,系统回滚
Connection conn = null;
PreparedStatement pstmt = null;

conn=DbManager.getConnection();
conn.setAutoCommit(false);

  String sql2="insert into 。。。。。。。。。。。"

System.out.println(sql2);
pstmt=conn.prepareStatement(sql2);
pstmt.executeUpdate();

  String sql3="update ..................."

System.out.println(sql3);
pstmt=conn.prepareStatement(sql3);
pstmt.executeUpdate();

conn.commit(); 

运行时报错:
[07-10-2 23:23:23:016 CST] 7af7acaa LocalTransact E WLTC0033E: 在清除未解析 LocalTransactionContainment 时,资源 jdbc/msdsn2 回滚。
[07-10-2 23:23:23:016 CST] 7af7acaa LocalTransact E WLTC0032E: 一个或多个资源回滚。一个未解析的 LocalTransactionContainment 有一个未解析的回滚操作。
[07-10-2 23:23:23:016 CST] 7af7acaa WebAppTransac E SRVE0183E: 由于 setRollbackOnly 导致 LocalTransaction 回滚
[07-10-2 23:23:23:016 CST] 7af7acaa WebGroup E SRVE0026E: [Servlet 错误]-[LocalTransaction rolled-back due to setRollbackOnly]:com.ibm.ws.LocalTransaction.RolledbackException

[解决办法]
你的数据库的引擎支持回滚么?
DatabaseMetaData md = con.getMetaData();
return md.supportsTransactions();
用这个语句实下
[解决办法]
在Web服务中使用?

热点排行