数据导入时有特殊字符报错
有一大批数据需要导入数据库,使用LOAD进行导入,但报846的错,问题如下:
数据共1000条,有3条报错,这3条的结构和其他是一样的,不应该是字段不足。数据如下:
正确可以导入的数据:
8|周集新|M|2000-1-1|6|2006-9-1|2007-8-31|L|K|O|0|0|1
9|李璇|F|1999-6-13|7|2006-9-1|2007-8-31|L|K|O|0|0|1
10|柏芊|F|1999-8-9|7|2006-9-1|2007-8-31|L|K|O|0|0|1
第一列是序号,第二列是姓名,第三列是性别,第四是生日,第五、第六是学年起止日,后面的都是一些标志位。
报错的数据:
11|赵珅琦|M|1998-11-13|7|2006-9-1|2007-8-31|L|K|O|0|0|1
239|侯羿珅|M|2002-6-21|4|2006-9-1|2007-8-31|L|K|O|0|0|1
1000|苏玉晶|F|1994-04-01|12|2006-9-1|2007-8-31|L|K|O|0|0|1
我看了一下,怀疑是不是姓名有问题,因为有2条数据都包含了一个非GB2312字“珅”,但是最后一条数据的姓名没有什么问题呀,ASC码如下:
$ cat a
苏玉晶
赵珅琦
侯羿珅
$ hd a
0000 cb d5 d3 f1 be a7 0a d5 d4 ab 7c e7 f9 0a ba ee
0010 f4 e0 ab 7c 0a
报错信息:
846: Number of values in load file is not equal to number of columns.
847: Error in load file line 11.
用ISQL建Form表,手工add数据,报错如下:
The column "XXXXXX" does not allow null values.
查看建表语句,一般都是:
XXXXXXX varchar(1,1)
default 'N' not null ,
XXXXXXX decimal(1,0)
default 0 not null ,
将所有not null的字段填写满,add成功!
分析这种情况的,也就是说,如果在load或者add的数据中,有一定组合的字符存在,比如说是“珅”字或者“苏玉晶”三个字中有某个组合,所有not null字段的default就不起作用了,必须要指定数值才行。
请问这种情况要如何判断,怎么处理?谢谢。