一个数据库批量处理中的事务问题
2006-12-18 23:26
246 查看
前几天在写一段代码时遇到了这样一个问题,感觉比较奇怪。
在jdbc中的Statement中有批量处理的功能,即addBatch()和executeBatch()方法,可用来一次提交多条数据库操作命令,在中间我要想要保持事务性的话,用jdbc的本地事务,即将Connection的commit()和rollBack()应该是没有问题的, 但我发现这仅仅是在Connection是在通过DriverManager获得时才好使,而如果这个Connection是通过DataSourc获得时,即使你已作事务处理了,却不好使,这就奇怪了,我想不通原因,google一些也没什么信息,难道大家都没碰到过这样的问题吗?如果我要在后者情况下保持事务性,用JTA是可以的,即我不用JDBC的事务,换作JTA老作就可以了,但这需要用的上分布式事务吗?
在jdbc中的Statement中有批量处理的功能,即addBatch()和executeBatch()方法,可用来一次提交多条数据库操作命令,在中间我要想要保持事务性的话,用jdbc的本地事务,即将Connection的commit()和rollBack()应该是没有问题的, 但我发现这仅仅是在Connection是在通过DriverManager获得时才好使,而如果这个Connection是通过DataSourc获得时,即使你已作事务处理了,却不好使,这就奇怪了,我想不通原因,google一些也没什么信息,难道大家都没碰到过这样的问题吗?如果我要在后者情况下保持事务性,用JTA是可以的,即我不用JDBC的事务,换作JTA老作就可以了,但这需要用的上分布式事务吗?
相关文章推荐
- ORA-02041: 客户数据库未开始一个事务处理 .NET 连接低版本ORACLE时需要注意的问题
- 解决 “数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间” 的问题
- 关于spring+mybatis操作数据库多次异常 事务不被spring管理问题
- mysql备份数据库一个小问题
- NHibernate问题 flush-mode 一个事务中重复提交更新的SQL语句
- sql 批量插入(一个数据库的表数据,添加到另一个数据库表) 数据类型nText和varchar在运算符equals不兼容的问题解决方案
- 一个数据库更新的问题
- 对于多个数据库表对应一个Model问题的思考
- 同一个连接的数据库,里面的所有数据库实例之间都支持事务
- 一个关于如何学习大型数据库问题的问题
- 运维角度浅谈MySQL数据库优化一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方
- 遇到一个数据库链接未释放问题
- (数据库未打开错误)跟大家分享一个Oracle问题的解决办法
- 不当事务代码引起的数据库死锁问题
- [原创]一个可以操作多数据库服务器的事务方法
- 当一个有性能问题的数据库摆在你的面前,作为责任人,你的处理思路
- 中检测到一个可能的数据库一致性问题。|解决方法
- 如何将一个操作“绑定到数据库事务上”
- 关于脏数据比如说,有两个用户A,B同时操作数据库,A开始了一个事务,修改了某行,但还未提交,这个时
- 数据库事务并发有关问题