更新informix中的行时如何修复错误-245

Posted

技术标签:

【中文标题】更新informix中的行时如何修复错误-245【英文标题】:How to fix error -245 while updating row in informix 【发布时间】:2017-10-27 09:30:23 【问题描述】:

-245 无法通过索引在文件中定位。

当我想更新表中的一行时出现此错误。 这个表有8个索引,表大约有30000行。

这里是这个错误的完整描述

数据库服务器在尝试查找时遇到错误 通过索引的一行。检查随附的 ISAM 错误代码 更多信息。表文件或索引文件可能已 损坏。除非 ISAM 错误代码或操作系统消息 指向另一个原因,运行 oncheck 实用程序(参见 IBM Informix SE 或 tbcheck with IBM Informix OnLine) 来检查和修复 表和索引。

【问题讨论】:

UPDATE语句条件是什么?它是否允许优化器使用索引来查找要更新的行(例如WHERE pk_column = value)还是必须读取许多列?还有什么同时发生的?哪个版本的 Informix,在哪个平台上?什么是 ISAM 错误(应该是 100 到 199 之间的数字)。 【参考方案1】:

我们需要 ISAM 错误才能正确回答这个问题。

这通常是由于锁定,查看应用程序锁定策略和隔离级别以及 DML 的访问计划。

【讨论】:

以上是关于更新informix中的行时如何修复错误-245的主要内容,如果未能解决你的问题,请参考以下文章

如何避免informix中的锁异常

Informix 存储过程通用异常处理

第 245 行 ConnectionFactory.php 中的不同错误 - Laravel 5.4

更新:如何修复过程语句中的 SQL 错误:新错误 [重复]

如何修复 C++ 中的“分段错误”错误

C++ 指针问题:如何修复这些代码中的错误? [关闭]