我是在迁移数据时报的错:
[ERROR]:插入数据发生错误
Error SQLCode:[-271]
Error message:Could not insert new row into the table:(-271) ISAM error:no free disk space(-131)
然后在查看存储空间后发现空间是有空闲的,询问后发现是informix构建的数据库,在导入大量的数据会常出的一个报错。
可以搜索有关informix的extent size和next size的设置。
INFORMIX如何确定extent size 和next size_数据库技术成长之路......-CSDN博客
然后我的解决办法是:因为我是迁移数据,所以在目的数据库先建一个与要迁移数据库一模一样的一个表结构,但是建表语句下需要加上extent size 和 next size的值,这个值我的理解就是表的大小。比如我要迁移一个34个G的表,那我extent size的值设置为33554430(默认单位是kB,这是最大的值,32G) next size就可以设置为1048576(1个G或者2个G),当然表空间是可扩展的。
create table 表名(
id CHAR(64),
age INTEGER
)
extent size 33554430 next size 1048576;
in 表空间名;
extent size与next size的值大致与数据的大小差不多就行,因为我的表空间是可扩展的,如果是不可扩展的,那就比数据的大小要大一些更好。