1.1修改锁模式方法
用dbaccess选择要修改的数据库,在Query-language中执行
修改某个表table_name为行锁:alter table table_name lock mode (row);
如果要修改为页锁可以将row 换为page
1.2SQLCODE=240
l INFORMIX解释:
-240 不能删除行。
数据库服务器不能完成DELETE语句的执行。滚回当前的事务处理;然后,检查伴随的 ISAM错误代码,得到更多的信息。
l 问题分析:
这种情况比较复杂,数据库可能出错的方面比较多,但在应用文件日志中都有记录是哪个数据库的哪一张表有问题。
l 参考解决方法:
可以通过informix的oncheck命令进行检查修复,如果修复后还有问题,则只有将该表的数据unload出重新创建此表,再将数据load到新表中,
oncheck –cID databasename:tablename
1.3SQLCODE=268
l INFORMIX解释:
-268 唯一限制<限制名>违法。
在执行这条语句期间,重复的值引入受唯一性限制保护的字段。不允许有重复值的行进入表中(不能插入或修改)。对于OnLine数据库服务器,在发现重复值之前由这条语句做的任何改动已被滚回。(然而,在事务中先于语句的影响,如果有的话,仍然起作用,必须明确地滚回或提交。)
l 问题分析:
上下级数据该表的主键不一致,请检查是否一致。
l 参考解决方法:
修改分公司索引,等待重新装载。
1.4SQLCODE=244
l INFORMIX解释:
-244 不能按物理顺序读来取得下一行。
数据库服务器不能读取包含一个表的某行的磁盘页。更多的信息请检查伴随的ISAM 错误代码。可能硬件有问题,或表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它原因,否则运行bcheck或secheck实用工具来检验文件的完整性。
l 举例:
l 问题分析:
同时对数据库的某个表操作时没有用到索引,导致应用程序之间出现互锁现象。
l 参考解决方法:
对数据库做优化,修改表的索模式为记录锁。等待重新装载。
1.5SQLCODE=242
l INFORMIX解释:
-242 不能打开数据库表< 表名>。
数据库服务器不能开始读取表。更多的信息请检查伴随的ISAM错误代码。问题可能是在文件权限,硬件错误,或被损坏的系统目录等方面。除非ISAM错误代码或操作系统信息指出其它原因,否则运行bcheck或secheck实用工具来检验文件的完整性。
l 参考解决方法: