ITPub博客

首页 > 数据库 > 数据库开发技术 > 自己总结了一些informix数据库出错的处理方法

自己总结了一些informix数据库出错的处理方法

原创 数据库开发技术 作者:jlliuyi 时间:2007-12-14 19:23:26 0 删除 编辑
如果有不足请大家指出!(原创,呵呵)[@more@]

1.

问题描述:不能向表中插入数据

报错信息:

271: Could not insert new row into the table.
136: ISAM error: no more extents

问题原因:如果建表的时候不手工修改表的next size值,则默认为16,next size太小,表的扩展很容易达到极限,因此需要删除一部分数据然后修改参数

处理步骤:

1).先删除表的一部分数据

2).alter table table_name next size 10240(10240只是个参考值,感觉实际需要修改)

2.

问题描述:系统表锁,不能利用dbschema查看表结构

报错信息:

问题原因:数据库中有异常sql导致系统锁表

处理步骤:

1)。利用onstat –g sql查看所有数据库正在执行的sql

2)。onstat –g sql id查看sql语句,得到异常sql的id

3)。利用onmode –z id 来杀掉异常sql

3.

问题描述:数值超出字段类型的范围

报错信息:

1215: Value exceeds limit of INTEGER precision

问题原因:由于字段类型为整形,最大为,但是插入的数超过这个值

处理步骤:

1)。检查这个值是否正常

2)。如果插入的数正常,则修改字段类型,比如改为int8

修改方法为alter table table_name modify column_name int8

4.

问题描述:不能向表中插入数据

报错信息:

268: Unique constraint (informix.u151_54) violated.

100: ISAM error: duplicate value for a record with unique key.

问题原因:

表创建了主键,主键所包含的字段不能重复,而表中已经存在了正在入的数据,导致出错

处理步骤:

检查表中已经存在的数据是否是需要的数据,如果不是,则删除此数据,在插入新的数据,如果存在的数据和需要入的数据一致,则不需再入。

5.

问题描述:向表中增加字段是报错alter table test add(type char)

报错信息:

9992: Named row type (char) not found.

问题原因:由于type为类型关键字,在此系统认为你增加类型而不是字段

处理步骤:

可以修改字段type为其它的字段名,或者按照如下更改:

alter table test add(type char)

备注:

在建表或者修改表字段时需要注意防止字段名为数据库关键字

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8007125/viewspace-993579/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 又到周末了,呵呵
请登录后发表评论 登录
全部评论
  • 博文量
    105
  • 访问量
    101550