外部表external table导入数据报错-26168 .
错误信息如下:
26168: Conversion err: (file,offset,reason,col)=(t.unl,0,TOO_MANY_FLDS,).
我查看了列的数量和文件数量一样,怎么还提示:TOO_MANY_FLDS
原来如此,
我Linux中没有dos2unix命令,使用了sed解决了。
dos转UNIX格式:sed -i 's/^M//g' data.unl
^M的输入方式是 Ctrl + v ,然后Ctrl + M
感谢NETSKY[CN] 的支持。
收起$ cat data.unl
1|北京市青牛技术公司|北京市西城区复兴路29号|
2|xxxxxx|xxxx
$ cat -A data.unl
1|M-1M-1M->M-)M-JM-PM-GM-`M-EM-#M-|M-1M-1M->M-)M-JM-PM-NM-wM-3M-GM-GM-xM-8M-4M-PM-KM-BM-729M-:M-E|^M$
2|xxxxxx|xxxx|^M$
收起create table t_akak(c_id integer,c_name varchar(100),c_add varchar(128));
CREATE EXTERNAL TABLE t_akak_ext sameas t_akak
USING (DATAFILES("DISK:/home/informix/data.unl"),
FORMAT 'DELIMITED',
DELIMITER '|' );
INSERT INTO t_akak SELECT * FROM t_akak_ext;
26168: Conversion err:(file,offset,reason,col)=(data.unl,46,INVALID_ROW_SIZE,).
我从windows FTP 到Linux
文件下载如下网盘 data.unl
http://pan.baidu.com/s/1pLzRbYj
收起