setAutoCommit()引起的这个错误怎么办?

[复制链接]
查看11 | 回复6 | 2011-5-7 01:45:08 | 显示全部楼层 |阅读模式
数据库是Oracle
在增加记录时,要取一个Sequence
只好写了个Javabean去取读此Sequence
在取Connection后设置方法
con.setAutoCommit(false);
此句抛出了下面错误
这样也会错?
15:37:35,005 INFO[STDOUT] connection is

rg.jboss.resource.adapter.jdbc.Wrapp
edConnection@137ef34
15:37:35,005 INFO[STDOUT] java.sql.SQLException: You cannot set autocommit dur
ing a managed transaction!
15:37:35,005 INFO[STDOUT] java.sql.SQLException: You cannot set autocommit dur
ing a managed transaction!
15:37:35,005 INFO[STDOUT] at org.jboss.resource.adapter.jdbc.BaseWrapperMa
nagedConnection.setJdbcAutoCommit(BaseWrapperManagedConnection.java:468)
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
你是不是用的datasource?
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
是啊,用的是dataSourse
看起来不行,是不?
要自己从查JDBC开始么?
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
那就不要设置那个参数。请直接调用事务试试看。
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
不执行setAutoCommit()没问题
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
如何直接调用事务?
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
最初由 sunw 发布
[B]如何直接调用事务? [/B]

我的描述不准确.下边是个例子.


UserTransaction ut =ServiceLocator.getTransaction();

try {

ut.begin();

command.execute(item);

ut.commit();



Debug.out(this,"User transaction has been executed.&quot

;

} catch (Exception ex) {

ut.rollback();

throw ex;

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行