使用
Informix时出现的异常:"
could not do a physical order read to fetch next row",具体表现在大数据量操作数据库的时候,容易出现。在
JavaYou找到解决问题所在:
一方面可以在隔离级别的选择上进行改动(但并不彻底),另一方面则是因为Informix默认锁等待时间为0,即在操作(update、delete等)数据库的时候,如遇到其他操作也在使用同一张表的情况时,则不等待和返回异常。
最简单的解决方法就是每次在获取新的(注意是新的,原有的连接也无妨,但影响效率)数据库连接时,首先执行设置连接的锁等待时间的Sql:
SET LOCK MODE TO WAIT 10 (意思是设置锁等待时间为10ms),
这样基本解决问题,不再出现异常情况。
posted on 2005-12-02 10:46
ZhuJun 阅读(5366)
评论(0) 编辑 收藏 所属分类:
开发手记