请高手帮忙看看这是不是死锁问题,又该怎么解决呢
有两个程序A和B,B是一个常驻内存的程序.
首先A往DB里面查了一条记录,然后循环等待一定的时间(比如10秒),在每一秒都做检查,查看这条记录的某个字段是否被更新.更新的话,则正常结束了.否则直到程序超时报错.而B这个程序就是用来更新A程序插入DB的这条数据.
现在的问题是,A往DB里面插入一条记录后(也做了commit),本来程序B应该根据KEY找到那条记录并更新的,但是程序B在SELECT时死在了那里,直到程序A超时报错结束以后,B才做了更新(更新的结果是对的),
这种情况是不是A程序把DB给锁住了,所以B不能对DB进行操作,直到A终止,B才开始工作?有什么办法可以解决这个问题?
问题点数:20、回复次数:2Top
1 楼licsth(北京三毛)回复于 2006-11-03 15:02:53 得分 0
在A的commit后,追加一些close之后,再重新连接DB,之后运行B程序试试!Top
2 楼julian123()回复于 2006-11-03 15:24:47 得分 0
追加什么close?是定义CURSOR的close吗,我有写的,还有什么吗Top




