allendream 发表于 2010-10-19 21:24

informix数据库并发读和更新问题

数据库隔离级别设置为一致性读CR,表T的locklevel设置为行锁ROW的情况下,
对一张表T的行1进行update/delete/insert中的DML操作的时候,同时在这个事务没有commit之前,另外一个session想select表的非行1的数据,比如行2,
这时候会报错:
244: Could not do a physical-order read to fetch next row.
107: ISAM error:record is locked.


请教大家有没有什么方法可以实现在update事务没有commit的情况下,另外的不同会话能正常的select出数据?

liaosnet 发表于 2010-10-19 22:10

本帖最后由 liaosnet 于 2010-10-19 22:19 编辑

Dirty read

IDS 11 以上使用USELASTCOMMITED 参数设置为 LAST COMMITED

allendream 发表于 2010-10-20 13:41

回复 2# liaosnet


    我们系统用的是很老的,informix 7.3UC8。

而且脏读不符合开发的需求。

请问还有别的方法吗?谢谢!

liaosnet 发表于 2010-10-20 14:21

回复liaosnet


    我们系统用的是很老的,informix 7.3UC8。

而且脏读不符合开发的需求。

请 ...
allendream 发表于 2010-10-20 13:41 http://bbs3.chinaunix.net/images/common/back.gif


基本上没办法了~~

wolfop 发表于 2010-10-20 16:49

设置锁等待,等待锁定的事务提交或者回滚。
页: [1]
查看完整版本: informix数据库并发读和更新问题