【发布时间】:2017-10-25 12:49:47
【问题描述】:
我有一个程序可以更新表中的一行。这个过程每天大约执行 200 次。那么在 5-6 次它给出异常 -244。我认为有人通过选择打开了该行,而 sp 无法更新该行。 我尝试过将隔离设置为脏读,但它没有帮助...... 任何人都知道如何解决这个问题
这里解释一下这个错误代码的含义
-244 无法进行物理顺序读取以获取下一行。
数据库服务器无法读取包含一行 桌子。查看随附的 ISAM 错误代码以获取更多信息。一种 可能存在硬件问题,或者表或索引可能已 损坏。如果查询使用脏读隔离级别,则 错误代码可能是由读取数据导致的正常行为 来自同一并发更新的临时不一致状态 数据。
除非 ISAM 错误代码或操作系统消息指向 另一个原因,运行 oncheck 实用程序(使用 IBM Informix SE 检查 或 tbcheck with IBM Informix OnLine) 来检查和修复表和 索引。
【问题讨论】:
-
隔离级别会影响您的查询看到的内容。无论隔离级别如何,更新总是锁定行。
标签: stored-procedures informix