obloader 无法导入字符串中包含逗号的csv格式

【 使用环境 】测试环境
【 OB or 其他组件 】ob obloader
【 使用版本 】4.3.1
【问题描述】清晰明确描述问题
报错信息


ob-loader-dumper.bad
ob-loader-dumper.txt (1006.4 KB)
其中一条出错数据:

【复现路径】问题出现前后相关操作
./obloader -h 127.0.0.1 -P 2881 -u root -p mayi -D imdb --table aka_name --csv -f /home/hnu/Disk0/MaYiProject/data/aka_name.csv

感觉像是数据或者字符集问题呢。。你的数据库字符集是什么,看看要不要设置下 –character-set 跟数据库保持一个字符集 :joy:

命令行选项-V4.3.1-OceanBase 导数工具文档-分布式数据库使用文档

跟分隔符冲突了。内容里面的逗号要转义下

我们的数据文件编码格式是UTF-8,没有插入成功的也不全是有特殊字符的,一些正常的英文名也插不进去
INSERT INTO aka_name (id,person_id,name,imdb_index,name_pcode_cf,name_pcode_nf,surname_pcode,md5sum)VALUES (‘829005’,‘2340756’,’“Moriarty’,'Evelyn Lucille”’,’’,‘M6314’,‘E1454’,‘M63’,‘4c1cc74dc40cf48db9e65e54387d5810’);
Cause: The number of columns parsed does not match the number of columns in the table

obloader不是支持导入符合 RFC 4180 规范的标准的csv文件吗,这个应该符合这个标准吧,就是如果字符串中出现逗号要用双引号括起来

你这个是values后面都列跟前面指定的列个数不匹配


这是csv文件中对应那行的数据,使用obloader以后识别的结果是这样的: INSERT INTO aka_name (id ,person_id ,name ,imdb_index ,name_pcode_cf ,name_pcode_nf ,surname_pcode ,md5sum )VALUES (‘829005’,‘2340756’,’“Moriarty’,'Evelyn Lucille”’,’’,‘M6314’,‘E1454’,‘M63’,‘4c1cc74dc40cf48db9e65e54387d5810’);
Cause: The number of columns parsed does not match the number of columns in the table。我的意思是obloader是支持符合RFC 4180规范的csv文件,这条数据应该也是符合规范的,为什么它识别的时候会直接以逗号分割呢?

你看一下这个文档 [RFC 4180规范是支持的]
https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000927507