Chinaunix首页 | 论坛 | 博客
  • 博客访问: 573695
  • 博文数量: 493
  • 博客积分: 2891
  • 博客等级: 少校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 17:11
文章分类

全部博文(493)

文章存档

2010年(493)

分类:

2010-05-12 16:38:20

根据上述分析,添加测试代码(强行rollback),当线程1在做长时间查询表操作的时候,线程2执行更新数据库表操作,然后rollback更新操作(测试代码),导致线程1的查询抛异常;根据问题发生现场的记录和测试结果出现的问题吻合;说明报错(ORA-01002: 读取违反顺序)是由于多个线程使用同一个数据库连接,没有对事务进行信号量保护,一个线程的rollback操作,导致另一个线程的数据库查询操作cmdEmmv.FetchNext()指空,抛异常
阅读(275) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~