如何在更新行时修复informix错误-244

时间:2017-10-25 12:49:48

标签: stored-procedures informix

我有一个更新表中行的过程。此程序每天执行200次。好吧,在5-6次,它给出例外 -244。我认为有人用select选择了行,并且更新了该行。 我尝试过的是将隔离设置为Dirty Read但它没有帮助...... 任何人都知道如何解决这个问题

以下是解释此错误代码的含义

  

-244无法执行物理订单读取以获取下一行。

     

数据库服务器无法读取包含一行a的磁盘页面   表。有关更多信息,请查看随附的ISAM错误代码。一个   可能存在硬件问题,或者表或索引可能存在   损坏。如果查询使用脏读隔离级别,则此   错误代码可能是由于读取数据中的数据而导致的正常行为   暂时不一致的状态来自同一个并发更新   数据

     

除非ISAM错误代码或操作系统消息指向   另一个原因,运行oncheck实用程序(使用IBM Informix SE进行secheck   或者使用IBM Informix OnLine进行tbcheck来检查和修复表和   索引。

1 个答案:

答案 0 :(得分:2)

如果是一个简单的锁定错误,例如113'文件被锁定' (检查ISAM错误),您可以尝试增加SPL等待锁定表的时间。

类似于设置锁定模式以等待10'在此之前,更新可能会有效。