csv列中的字符串存在逗号,obloader导入报错Cause: The number of columns parsed does not match the number of columns in the table

【 使用环境 】测试环境
【 OB or 其他组件 】ob-loader-dumper-4.3.3.1
【 使用版本 】ob-loader-dumper-4.3.3.1
【问题描述】csv列中的字符串存在逗号,obloader导入报错Cause: The number of columns parsed does not match the number of columns in the table
发现
image

【附件及日志】
[root@ob logs]# head /root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv
“ID”,“OPER_TYPE”,“A_NE_ID”,“A_NE_CODE”,“B_NE_ID”,“B_NE_CODE”,“STAFF_NO”,“OPER_TIME”,“HOSTNAME”,“IP_ADDRESS”,“REMARK”,“OLD_A_NE_ID”,“OLD_A_NE_CODE”,“OLD_B_NE_ID”,“OLD_B_NE_CODE”,“A_NE_TYPE”,“B_NE_TYPE”,“SUBSTATION_ID”,“OPER_SOURCE”,“ONU_ID”,“ONU_CODE”,“OLD_ONU_ID”,“OLD_ONU_CODE”
“5657011445”,UPDATE,“2510094424”,ODN23号2单元-H02-2J,“2510611070”,OTB-23号2-1-2,SJMXL,2021-02-08 09:43:23,DESKTOP-KHHUV1M,“192.168.136.1”,“NEW IFREAL:0, OLD IFREAL:0”,“2613181707”,ODN-小区1(115巷3号)-01,“2510611070”,OTB-23号2-1-2,“2”,“3”,“42634735”,8,

[root@ob logs]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u test -t lnzyob -p xxxxxx --csv -f /root/csv2/ --skip-header --table ‘AN_LOGIC_CONN_LOG’ --column-separator ‘,’ --column-delimiter ‘"’ --escape-character ‘,’
2025-06-13 16:12:47 [INFO] Parsed args:
[–csv] true
[–file-path] /root/csv2/
[–escape-character] ,
[–column-delimiter] "
[–skip-header] true
[–host] 192.168.207.18
[–port] 2881
[–user] test
[–tenant] lnzyob
[–password] ******
[–sys-user] root
[–table] [AN_LOGIC_CONN_LOG]

2025-06-13 16:12:47 [WARN] The Java version (1.8.0_221) you are currently using is not recommended. Recommended range: [1.8.0_300, 9.0.0)
2025-06-13 16:12:48 [INFO] Log files will be written to /root/csv2/logs
2025-06-13 16:12:48 [INFO] Trying to establish JDBC connection to test@lnzyob
2025-06-13 16:12:49 [INFO] Server Mode: OBORACLE-4.2.5.3
2025-06-13 16:12:49 [INFO] Manifest has been saved to “/root/csv2/.MANIFEST.bin”
2025-06-13 16:12:49 [INFO] Querying table column metadata, this might take a while…
2025-06-13 16:12:49 [INFO] Listing all matched data files in dest path…
2025-06-13 16:12:49 [INFO] Binding table: “AN_LOGIC_CONN_LOG” to file: “file:/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” finished
2025-06-13 16:12:49 [INFO] Cannot find a binding for “file:/root/csv2/data/test/TABLE/JYC.csv”, ignore it
2025-06-13 16:12:49 [INFO] Find 1 data files in: “/root/csv2/” success. Elapsed: 20.81 ms
2025-06-13 16:12:49 [INFO] Splitting data files into 64 MB logical chunks…
2025-06-13 16:12:49 [INFO] Split 1 data files to 1 logical chunks success. Elapsed: 32.84 ms
2025-06-13 16:12:49 [INFO] Bootstrap with Max Heap: 3 GB, Safe Heap: 3.12 GB
2025-06-13 16:12:49 [INFO] Querying primary/unique constraints metadata for data replacing…
2025-06-13 16:12:49 [INFO] Query table entry for table: “AN_LOGIC_CONN_LOG” finished. Remain: 0
2025-06-13 16:12:49 [INFO] Query leader location of table: “AN_LOGIC_CONN_LOG” finished. Remain: 0
2025-06-13 16:12:49 [INFO] Waiting to calculate leader for 1 subfiles…
2025-06-13 16:12:49 [INFO] Waiting to refresh observer load status…
2025-06-13 16:12:49 [INFO] Create 1024 slots for ring buffer finished. [192.168.207.18:2881]
2025-06-13 16:12:49 [INFO] Start 32 database writer threads finished. [192.168.207.18:2881]
2025-06-13 16:12:49 [INFO] Start 32 record file reader threads success
2025-06-13 16:12:50 [INFO] File: “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” has been parsed finished
2025-06-13 16:12:50 [WARN] Failed to load 240 records from “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” into table “test”.“AN_LOGIC_CONN_LOG”. Check “ob-loader-dumper.bad” and “ob-loader-dumper.discard” for details
2025-06-13 16:12:50 [ERROR] Error: Failed to load 240 records from “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” into table “test”.“AN_LOGIC_CONN_LOG”. Check “ob-loader-dumper.bad” and “ob-loader-dumper.discard” for details
2025-06-13 16:12:50 [INFO] ---------- Finished Tasks: 1 Running Tasks: 0 Progress: 100.00% ----------
2025-06-13 16:12:50 [INFO]

All Load Tasks Finished:


    No.#        |        Type        |             Name             |            Count             |       Status       

     1          |       TABLE        |      AN_LOGIC_CONN_LOG       |          669 -> 429          |      FAILURE       

Total Count: 429 End Time: 2025-06-13 16:12:50

2025-06-13 16:12:50 [INFO] Load record finished. Total Elapsed: 1.545 s
2025-06-13 16:12:50 [ERROR] System exit 1
[root@ob logs]# more ob-loader-dumper.bad
INSERT INTO “AN_LOGIC_CONN_LOG” (“ID”,“OPER_TYPE”,“A_NE_ID”,“A_NE_CODE”,“B_NE_ID”,“B_NE_CODE”,“STAFF_NO”,“OPER_TIME”,“HOSTNAME”,“IP_ADDRESS”,“REMARK”,“OLD_A_NE_ID”,“OLD_A_NE_CODE”,“OLD_B_NE_ID”,“OLD_B_NE_CODE”,“A_NE_TYPE”,“B_
NE_TYPE”,“SUBSTATION_ID”,“OPER_SOURCE”,“ONU_ID”,“ONU_CODE”,“OLD_ONU_ID”,“OLD_ONU_CODE”)VALUES (’“5657011445”’,‘UPDATE’,’“2510094424”’,‘ODN23号2单元-H02-2J’,’“2510611070”’,‘OTB-23号2-1
-2’,‘SJMXL’,‘2021-02-08 09:43:23’,‘DESKTOP-KHHUV1M’,’“192.168.136.1”’,’“NEW IFREAL:0’,'OLD IFREAL:0”’,’“2613181707”’,‘ODN-小区1(115巷3号)-01’,’“2510611070”’,‘OTB-23号2-1-2’,’“2”’,’“3”’,’“426
34735”’,‘8’,’’,’’,’’,’’);
Cause: The number of columns parsed does not match the number of columns in the table

[root@ob logs]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u test -t lnzyob -p xxxxxx --csv -f /root/csv2/ --skip-header --table ‘AN_LOGIC_CONN_LOG’
2025-06-13 16:14:04 [INFO] Parsed args:
[–csv] true
[–file-path] /root/csv2/
[–skip-header] true
[–host] 192.168.207.18
[–port] 2881
[–user] test
[–tenant] lnzyob
[–password] ******
[–sys-user] root
[–table] [AN_LOGIC_CONN_LOG]

2025-06-13 16:14:04 [WARN] The Java version (1.8.0_221) you are currently using is not recommended. Recommended range: [1.8.0_300, 9.0.0)
2025-06-13 16:14:05 [INFO] Log files will be written to /root/csv2/logs
2025-06-13 16:14:05 [INFO] Trying to establish JDBC connection to test@lnzyob
2025-06-13 16:14:05 [INFO] Server Mode: OBORACLE-4.2.5.3
2025-06-13 16:14:05 [INFO] Manifest has been saved to “/root/csv2/.MANIFEST.bin”
2025-06-13 16:14:05 [INFO] Querying table column metadata, this might take a while…
2025-06-13 16:14:06 [INFO] Listing all matched data files in dest path…
2025-06-13 16:14:06 [INFO] Binding table: “AN_LOGIC_CONN_LOG” to file: “file:/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” finished
2025-06-13 16:14:06 [INFO] Cannot find a binding for “file:/root/csv2/data/test/TABLE/JYC.csv”, ignore it
2025-06-13 16:14:06 [INFO] Find 1 data files in: “/root/csv2/” success. Elapsed: 17.19 ms
2025-06-13 16:14:06 [INFO] Splitting data files into 64 MB logical chunks…
2025-06-13 16:14:06 [INFO] Split 1 data files to 1 logical chunks success. Elapsed: 28.83 ms
2025-06-13 16:14:06 [INFO] Bootstrap with Max Heap: 3 GB, Safe Heap: 3.12 GB
2025-06-13 16:14:06 [INFO] Querying primary/unique constraints metadata for data replacing…
2025-06-13 16:14:06 [INFO] Query table entry for table: “AN_LOGIC_CONN_LOG” finished. Remain: 0
2025-06-13 16:14:06 [INFO] Query leader location of table: “AN_LOGIC_CONN_LOG” finished. Remain: 0
2025-06-13 16:14:06 [INFO] Waiting to calculate leader for 1 subfiles…
2025-06-13 16:14:06 [INFO] Waiting to refresh observer load status…
2025-06-13 16:14:06 [INFO] Create 1024 slots for ring buffer finished. [192.168.207.18:2881]
2025-06-13 16:14:06 [INFO] Start 32 database writer threads finished. [192.168.207.18:2881]
2025-06-13 16:14:06 [INFO] Start 32 record file reader threads success
2025-06-13 16:14:06 [INFO] File: “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” has been parsed finished
2025-06-13 16:14:06 [WARN] Failed to load 240 records from “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” into table “test”.“AN_LOGIC_CONN_LOG”. Check “ob-loader-dumper.bad” and “ob-loader-dumper.discard” for details
2025-06-13 16:14:07 [ERROR] Error: Failed to load 240 records from “/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv” into table “test”.“AN_LOGIC_CONN_LOG”. Check “ob-loader-dumper.bad” and “ob-loader-dumper.discard” for details
2025-06-13 16:14:07 [INFO] ---------- Finished Tasks: 1 Running Tasks: 0 Progress: 100.00% ----------
2025-06-13 16:14:07 [INFO]

All Load Tasks Finished:


    No.#        |        Type        |             Name             |            Count             |       Status       

     1          |       TABLE        |      AN_LOGIC_CONN_LOG       |          669 -> 429          |      FAILURE       

Total Count: 429 End Time: 2025-06-13 16:14:07

2025-06-13 16:14:07 [INFO] Load record finished. Total Elapsed: 1.471 s
2025-06-13 16:14:07 [ERROR] System exit 1
[root@ob logs]# head ob-loader-dumper.bad
INSERT INTO “AN_LOGIC_CONN_LOG” (“ID”,“OPER_TYPE”,“A_NE_ID”,“A_NE_CODE”,“B_NE_ID”,“B_NE_CODE”,“STAFF_NO”,“OPER_TIME”,“HOSTNAME”,“IP_ADDRESS”,“REMARK”,“OLD_A_NE_ID”,“OLD_A_NE_CODE”,“OLD_B_NE_ID”,“OLD_B_NE_CODE”,“A_NE_TYPE”,“B_NE_TYPE”,“SUBSTATION_ID”,“OPER_SOURCE”,“ONU_ID”,“ONU_CODE”,“OLD_ONU_ID”,“OLD_ONU_CODE”)VALUES (’“5657011445”’,‘UPDATE’,’“2510094424”’,‘ODN23号2单元-H02-2J’,’“2510611070”’,‘OTB-23号2-1-2’,‘SJMXL’,‘2021-02-08 09:43:23’,‘DESKTOP-KHHUV1M’,’“192.168.136.1”’,’“NEW IFREAL:0’,'OLD IFREAL:0”’,’“2613181707”’,‘ODN-小区1(115巷3号)-01’,’“2510611070”’,‘OTB-23号2-1-2’,’“2”’,’“3”’,’“42634735”’,‘8’,’’,’’,’’,’’);
Cause: The number of columns parsed does not match the number of columns in the table
[root@ob logs]#
[root@ob logs]#
根据文档:https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000002781923


怎么添加参数指定都没有解决,怀疑是工具存在bug,请高手指导,谢谢!

3 个赞

@jieguo 看这个csv 是 “”,"","“格式的,是需要指定–column-delimiter '”’ 为双引号,但这里的bad记录数据中包含双引号,貌似生效的是单引号,这里两个可能,一个双引号的指定没生效,二个是日志未清理混淆了。麻烦清理下日志,重新跑一遍包含–column-delimiter ‘"’ 的命令,然后再截图我们分析下呢

4 个赞

[root@ob logs]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u test -t lnzyob -p xxxxxx --csv -f /root/csv2/ --skip-header --table ‘AN_LOGIC_CONN_LOG’ --column-separator ‘,’ --column-delimiter ‘"’ --escape-character ‘,’
语法上我看到没有什么问题,可以把这个命令放入到notepad++.visual studio code 等工具中去识别,看看是不是双引号,单引号变为中文的符号,从而导致出现问题!

2 个赞

命令没问题的,请看清前面我的文件csv内容,某个字段里字符串存在逗号,的问题,ob区分不了,导致多拆了列啊

1 个赞

可以清空 ob-loader-dumper.bad 文件,重新跑一遍包含 --column-delimiter ‘"’ 的导入命令,再截图看下ob-loader-dumper.bad文件吗?

1 个赞

–column-delimiter 就是为了解决字段内含分隔符"," 的问题的。按 CSV 的规范如果字段内含分隔符","则该字段必须使用双引号包裹。

另外,先把 --escape-character 去掉再试试

1 个赞

2 个赞

如果这个 ob-loader-dumper.bad 确实是最新这次导入的记录。显示的insert语句,csv中的双引号被当成数据解析了,也就是 --column-delimiter ‘“’ 没生效,这里可能原因是 csv文件里的双引号和 --column-delimiter 指定的双引号实际不是一个字符,csv里的双引号是英文字符的双引号吗?

1 个赞

另外,–escape-character ‘,’ 这个使用确实不合理,可以先去掉。

这里一直让你确认双引号是因为,双引号如果生效了,预期是不会出现你的逗号两边的字符被切分的问题,正常情况下双引号内的数据会被解析到同一个字段的。结合你的bad数据可以确认双引号没生效。所以当前的排查方向是为什么双引号没有作为定界符生效

1 个赞

去掉也试过了,没用,一样的错。
csv里本身没有双引号啊,字符串里有逗号。
仔细看下面的csv图片截图啊,K列的值。
image

1 个赞

csv是集团侧导出给过来的,不可能给你修改成“内含分隔符","则该字段必须使用双引号”这样的形式。

1 个赞


这是csv数据吧?看着确实是 “字段1的值”,“字段2的值”,“字段3的值”,…,“字段N的值"的格式吧? K列在csv里面应该也是 “NEW IFREAL:0, OLD IFREAL:0” 这个样子没错的吧。想确认的是为什么双引号作为定界符没有生效,所以需要确认数据里的双引号和–column-delimiter 里指定的双引号是否一致。
如果,csv不是"字段1的值”,“字段2的值”,“字段3的值”,…,"字段N的值"的格式,麻烦截图下,让我们知道数据具体是长什么样子的(不要用excel打开的,麻烦直接cat或者文本编辑器打开),才能进行定位。

1 个赞

这个csv用ue打开是这样的啊,并不是都有双引号隔开的

1 个赞

是否注意到有些字段值是有双引号引起来,有些字段并没有双引号,字段之间是逗号,隔开
ob for oracle的租户:
表结构如下:
obclient(GISTAR@lnzyob)[GISTAR]> desc AN_LOGIC_CONN_LOG;
±--------------±--------------±-----±-----±--------±------+
| FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA |
±--------------±--------------±-----±-----±--------±------+
| ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| OPER_TYPE | VARCHAR2(20) | YES | NULL | NULL | NULL |
| A_NE_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| A_NE_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
| B_NE_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| B_NE_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
| STAFF_NO | VARCHAR2(512) | YES | NULL | NULL | NULL |
| OPER_TIME | DATE | YES | NULL | NULL | NULL |
| HOSTNAME | VARCHAR2(512) | YES | NULL | NULL | NULL |
| IP_ADDRESS | VARCHAR2(512) | YES | NULL | NULL | NULL |
| REMARK | VARCHAR2(512) | YES | NULL | NULL | NULL |
| OLD_A_NE_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| OLD_A_NE_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
| OLD_B_NE_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| OLD_B_NE_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
| A_NE_TYPE | VARCHAR2(32) | YES | NULL | NULL | NULL |
| B_NE_TYPE | VARCHAR2(32) | YES | NULL | NULL | NULL |
| SUBSTATION_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| OPER_SOURCE | NUMBER(6) | YES | NULL | NULL | NULL |
| ONU_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| ONU_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
| OLD_ONU_ID | VARCHAR2(16) | YES | NULL | NULL | NULL |
| OLD_ONU_CODE | VARCHAR2(512) | YES | NULL | NULL | NULL |
±--------------±--------------±-----±-----±--------±------+
23 rows in set (0.007 sec)

您把下面的存成csv就测试一下就知道了:
“ID”,“OPER_TYPE”,“A_NE_ID”,“A_NE_CODE”,“B_NE_ID”,“B_NE_CODE”,“STAFF_NO”,“OPER_TIME”,“HOSTNAME”,“IP_ADDRESS”,“REMARK”,“OLD_A_NE_ID”,“OLD_A_NE_CODE”,“OLD_B_NE_ID”,“OLD_B_NE_CODE”,“A_NE_TYPE”,“B_NE_TYPE”,“SUBSTATION_ID”,“OPER_SOURCE”,“ONU_ID”,“ONU_CODE”,“OLD_ONU_ID”,“OLD_ONU_CODE”
“5657011445”,UPDATE,“2510094424”,ODN23号2单元-H02-2J,“2510611070”,OTB-23号2-1-2,SJMXL,2021-02-08 09:43:23.000,DESKTOP-KHHUV1M,“192.168.136.1”,“NEW IFREAL:0, OLD IFREAL:0”,“2613181707”,ODN-小区1(115巷3号)-01,“2510611070”,OTB-23号2-1-2,“2”,“3”,“42634735”,8,

1 个赞

[quote=“大川, post:14, topic:35625701”]
这是csv数据吧?看着确实是 “字段1的值”,“字段2的值”,“字段3的值”,…,“字段N的值"的格式吧? K列在csv里面应该也是 “NEW IFREAL:0, OLD IFREAL:0” 这个样子没错的吧。[/quote]
没错啊。

[quote=“大川, post:14, topic:35625701”]
想确认的是为什么双引号作为定界符没有生效,所以需要确认数据里的双引号和–column-delimiter 里指定的双引号是否一致。[/quote]

当然是一致的。

2 个赞


能麻烦提供下最简复现数据吗?我按您提供的部分数据无法复现

你好 如果紧急 可以发个官方悬赏 我们可以建群沟通一下

上面的存成test.csv就可以测啊

目前内部按照你提供的文件解析没有问题 没有办法复现出来

如此明确了,怎么可能?您用的ob版本一样吗?

[root@ob logs]# ll
total 32
-rw-r--r--. 1 root root 1478 Jun 16 16:55 ob-loader-dumper.bad
-rw-r--r--. 1 root root  484 Jun 16 16:55 ob-loader-dumper.error
-rw-r--r--. 1 root root 9955 Jun 16 16:55 ob-loader-dumper.info
-rw-r--r--. 1 root root  384 Jun 16 16:55 ob-loader-dumper.warn
-rw-r--r--. 1 root root 7258 Jun 16 16:55 sql-monitor.log
[root@ob logs]# rm -f *
[root@ob logs]# ll
total 0
[root@ob logs]# cd ..
[root@ob csv2]# 
[root@ob csv2]# 
[root@ob csv2]# cat test.csv
"ID","OPER_TYPE","A_NE_ID","A_NE_CODE","B_NE_ID","B_NE_CODE","STAFF_NO","OPER_TIME","HOSTNAME","IP_ADDRESS","REMARK","OLD_A_NE_ID","OLD_A_NE_CODE","OLD_B_NE_ID","OLD_B_NE_CODE","A_NE_TYPE","B_NE_TYPE","SUBSTATION_ID","OPER_SOURCE","ONU_ID","ONU_CODE","OLD_ONU_ID","OLD_ONU_CODE"
"5657011445",UPDATE,"2510094424",ODN23号2单元-H02-2J,"2510611070",OTB-23号2-1-2,SJMXL,2021-02-08 09:43:23.000,DESKTOP-KHHUV1M,"192.168.136.1","NEW IFREAL:0, OLD IFREAL:0","2613181707",ODN-小区1(115巷3号)-01,"2510611070",OTB-23号2-1-2,"2","3","42634735",8,

[root@ob csv2]# 
[root@ob csv2]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u gistar -t lnzyob -p xxxx --csv -f /root/csv2/ --skip-header --table 'AN_LOGIC_CONN_LOG' --file-regular-expression "test.csv"
2025-06-16 16:56:31 [INFO] Parsed args:
[--csv] true
[--file-path] /root/csv2/
[--skip-header] true
[--host] 192.168.207.18
[--port] 2881
[--user] gistar
[--tenant] lnzyob
[--password] ******
[--sys-user] root
[--table] [AN_LOGIC_CONN_LOG]
[--file-regular-expression] test.csv

2025-06-16 16:56:31 [WARN] The Java version (1.8.0_221) you are currently using is not recommended. Recommended range: [1.8.0_300, 9.0.0)
2025-06-16 16:56:32 [INFO] Log files will be written to /root/csv2/logs
2025-06-16 16:56:32 [INFO] Trying to establish JDBC connection to `gistar@lnzyob`...
2025-06-16 16:56:32 [INFO] Server Mode: OBORACLE-4.2.5.3
2025-06-16 16:56:32 [INFO] Manifest has been saved to "/root/csv2/.MANIFEST.bin"
2025-06-16 16:56:32 [INFO] Querying table column metadata, this might take a while...
2025-06-16 16:56:32 [INFO] Listing all matched data files in dest path...
2025-06-16 16:56:32 [INFO] File: "/root/csv2/logs/ob-loader-dumper.info" is empty, ignore it
2025-06-16 16:56:32 [INFO] File: "/root/csv2/logs/ob-loader-dumper.warn" is empty, ignore it
2025-06-16 16:56:32 [INFO] File: "/root/csv2/logs/ob-loader-dumper.error" is empty, ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG_202506130930.csv.bak", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/logs/sql-monitor.log", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/.load.ckpt", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.csv.bak", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/.MANIFEST.bin", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/JYC.csv", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/AN_LOGIC_CONN_LOG.csv", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.info", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.warn", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.error", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/sql-monitor.log", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.bad", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/.load.ckpt", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/ABC.csv", ignore it
2025-06-16 16:56:32 [INFO] Cannot find a binding for "file:/root/csv2/test.csv.bak", ignore it
2025-06-16 16:56:32 [INFO] Binding table: "AN_LOGIC_CONN_LOG" to file: "file:/root/csv2/test.csv" finished
2025-06-16 16:56:32 [INFO] Find 1 data files in: "/root/csv2/" success. Elapsed: 23.37 ms
2025-06-16 16:56:32 [INFO] Splitting data files into 64 MB logical chunks...
2025-06-16 16:56:32 [INFO] Split 1 data files to 1 logical chunks success. Elapsed: 30.44 ms
2025-06-16 16:56:32 [INFO] Bootstrap with Max Heap: 3 GB, Safe Heap: 3.12 GB
2025-06-16 16:56:32 [INFO] Querying primary/unique constraints metadata for data replacing...
2025-06-16 16:56:32 [INFO] Query table entry for table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 16:56:32 [INFO] Query leader location of table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 16:56:32 [INFO] Waiting to calculate leader for 1 subfiles....
2025-06-16 16:56:32 [INFO] Waiting to refresh observer load status....
2025-06-16 16:56:32 [INFO] Create 1024 slots for ring buffer finished. [192.168.207.18:2881]
2025-06-16 16:56:33 [INFO] Start 32 database writer threads finished. [192.168.207.18:2881]
2025-06-16 16:56:33 [INFO] Start 32 record file reader threads success
2025-06-16 16:56:33 [INFO] File: "/root/csv2/test.csv" has been parsed finished
2025-06-16 16:56:33 [WARN] Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 16:56:34 [ERROR] Error: Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 16:56:34 [INFO] ----------   Finished Tasks: 1       Running Tasks: 0        Progress: 100.00%       ----------
2025-06-16 16:56:34 [INFO] 

All Load Tasks Finished: 



----------------------------------------------------------------------------------------------------------------------------
        No.#        |        Type        |             Name             |            Count             |       Status       
----------------------------------------------------------------------------------------------------------------------------
         1          |       TABLE        |      AN_LOGIC_CONN_LOG       |            1 -> 0            |      FAILURE       
----------------------------------------------------------------------------------------------------------------------------

Total Count: 0          End Time: 2025-06-16 16:56:34


2025-06-16 16:56:34 [INFO] Load record finished. Total Elapsed: 1.512 s
2025-06-16 16:56:34 [ERROR] System exit 1
[root@ob csv2]# 
[root@ob csv2]# cat ./logs/ob-loader-dumper.bad
INSERT INTO "AN_LOGIC_CONN_LOG" ("ID","OPER_TYPE","A_NE_ID","A_NE_CODE","B_NE_ID","B_NE_CODE","STAFF_NO","OPER_TIME","HOSTNAME","IP_ADDRESS","REMARK","OLD_A_NE_ID","OLD_A_NE_CODE","OLD_B_NE_ID","OLD_B_NE_CODE","A_NE_TYPE","B_NE_TYPE","SUBSTATION_ID","OPER_SOURCE","ONU_ID","ONU_CODE","OLD_ONU_ID","OLD_ONU_CODE")VALUES ('"5657011445"','UPDATE','"2510094424"','ODN23号2单元-H02-2J','"2510611070"','OTB-23号2-1-2','SJMXL','2021-02-08 09:43:23.000','DESKTOP-KHHUV1M','"192.168.136.1"','"NEW IFREAL:0','OLD IFREAL:0"','"2613181707"','ODN-小区1(115巷3号)-01','"2510611070"','OTB-23号2-1-2','"2"','"3"','"42634735"','8','');
Cause: The number of columns parsed does not match the number of columns in the table

[root@ob csv2]# 
[root@ob csv2]# 
再试试加参数的,都一样的错:
[root@ob csv2]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u gistar -t lnzyob -p xxxx --csv -f /root/csv2/ --skip-header --table 'AN_LOGIC_CONN_LOG' --file-regular-expression "test.csv" --column-delimiter '"'
2025-06-16 17:00:46 [INFO] Parsed args:
[--csv] true
[--file-path] /root/csv2/
[--column-delimiter] "
[--skip-header] true
[--host] 192.168.207.18
[--port] 2881
[--user] gistar
[--tenant] lnzyob
[--password] ******
[--sys-user] root
[--table] [AN_LOGIC_CONN_LOG]
[--file-regular-expression] test.csv

2025-06-16 17:00:46 [WARN] The Java version (1.8.0_221) you are currently using is not recommended. Recommended range: [1.8.0_300, 9.0.0)
2025-06-16 17:00:47 [INFO] Log files will be written to /root/csv2/logs
2025-06-16 17:00:47 [INFO] Trying to establish JDBC connection to `gistar@lnzyob`...
2025-06-16 17:00:47 [INFO] Server Mode: OBORACLE-4.2.5.3
2025-06-16 17:00:47 [INFO] Manifest has been saved to "/root/csv2/.MANIFEST.bin"
2025-06-16 17:00:47 [INFO] Querying table column metadata, this might take a while...
2025-06-16 17:00:47 [INFO] Listing all matched data files in dest path...
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG_202506130930.csv.bak", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.info", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.warn", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.error", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/logs/sql-monitor.log", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.bad", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/.load.ckpt", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.csv.bak", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/.MANIFEST.bin", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/JYC.csv", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/AN_LOGIC_CONN_LOG.csv", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.info", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.warn", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.error", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/sql-monitor.log", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.bad", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/.load.ckpt", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/ABC.csv", ignore it
2025-06-16 17:00:47 [INFO] Cannot find a binding for "file:/root/csv2/test.csv.bak", ignore it
2025-06-16 17:00:47 [INFO] Binding table: "AN_LOGIC_CONN_LOG" to file: "file:/root/csv2/test.csv" finished
2025-06-16 17:00:47 [INFO] Find 1 data files in: "/root/csv2/" success. Elapsed: 21.98 ms
2025-06-16 17:00:47 [INFO] Splitting data files into 64 MB logical chunks...
2025-06-16 17:00:47 [INFO] Split 1 data files to 1 logical chunks success. Elapsed: 25.22 ms
2025-06-16 17:00:47 [INFO] Bootstrap with Max Heap: 3 GB, Safe Heap: 3.12 GB
2025-06-16 17:00:47 [INFO] Querying primary/unique constraints metadata for data replacing...
2025-06-16 17:00:47 [INFO] Query table entry for table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 17:00:47 [INFO] Query leader location of table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 17:00:47 [INFO] Waiting to calculate leader for 1 subfiles....
2025-06-16 17:00:48 [INFO] Waiting to refresh observer load status....
2025-06-16 17:00:48 [INFO] Create 1024 slots for ring buffer finished. [192.168.207.18:2881]
2025-06-16 17:00:48 [INFO] Start 32 database writer threads finished. [192.168.207.18:2881]
2025-06-16 17:00:48 [INFO] Start 32 record file reader threads success
2025-06-16 17:00:48 [INFO] File: "/root/csv2/test.csv" has been parsed finished
2025-06-16 17:00:48 [WARN] Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 17:00:49 [ERROR] Error: Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 17:00:49 [INFO] ----------   Finished Tasks: 1       Running Tasks: 0        Progress: 100.00%       ----------
2025-06-16 17:00:49 [INFO] 

All Load Tasks Finished: 



----------------------------------------------------------------------------------------------------------------------------
        No.#        |        Type        |             Name             |            Count             |       Status       
----------------------------------------------------------------------------------------------------------------------------
         1          |       TABLE        |      AN_LOGIC_CONN_LOG       |            1 -> 0            |      FAILURE       
----------------------------------------------------------------------------------------------------------------------------

Total Count: 0          End Time: 2025-06-16 17:00:49


2025-06-16 17:00:49 [INFO] Load record finished. Total Elapsed: 1.498 s
2025-06-16 17:00:49 [ERROR] System exit 1
[root@ob csv2]# 
[root@ob csv2]# 
[root@ob csv2]# /root/ob-loader-dumper-4.3.3.1-RELEASE/bin/obloader -h 192.168.207.18 -P 2881 -u gistar -t lnzyob -p xxxx --csv -f /root/csv2/ --skip-header --table 'AN_LOGIC_CONN_LOG' --file-regular-expression "test.csv" --column-delimiter '"'  --column-separator ','
2025-06-16 17:01:20 [INFO] Parsed args:
[--csv] true
[--file-path] /root/csv2/
[--column-delimiter] "
[--skip-header] true
[--host] 192.168.207.18
[--port] 2881
[--user] gistar
[--tenant] lnzyob
[--password] ******
[--sys-user] root
[--table] [AN_LOGIC_CONN_LOG]
[--file-regular-expression] test.csv

2025-06-16 17:01:20 [WARN] The Java version (1.8.0_221) you are currently using is not recommended. Recommended range: [1.8.0_300, 9.0.0)
2025-06-16 17:01:21 [INFO] Log files will be written to /root/csv2/logs
2025-06-16 17:01:21 [INFO] Trying to establish JDBC connection to `gistar@lnzyob`...
2025-06-16 17:01:21 [INFO] Server Mode: OBORACLE-4.2.5.3
2025-06-16 17:01:21 [INFO] Manifest has been saved to "/root/csv2/.MANIFEST.bin"
2025-06-16 17:01:21 [INFO] Querying table column metadata, this might take a while...
2025-06-16 17:01:22 [INFO] Listing all matched data files in dest path...
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG_202506130930.csv.bak", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.info", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.warn", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.error", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/logs/sql-monitor.log", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/logs/ob-loader-dumper.bad", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/.load.ckpt", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.csv.bak", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/AN_LOGIC_CONN_LOG.202506130930.csv", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/.MANIFEST.bin", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/JYC.csv", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/AN_LOGIC_CONN_LOG.csv", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.info", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.warn", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.error", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/sql-monitor.log", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/logs/ob-loader-dumper.bad", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/.load.ckpt", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/data/GISTAR/TABLE/ABC.csv", ignore it
2025-06-16 17:01:22 [INFO] Cannot find a binding for "file:/root/csv2/test.csv.bak", ignore it
2025-06-16 17:01:22 [INFO] Binding table: "AN_LOGIC_CONN_LOG" to file: "file:/root/csv2/test.csv" finished
2025-06-16 17:01:22 [INFO] Find 1 data files in: "/root/csv2/" success. Elapsed: 22.10 ms
2025-06-16 17:01:22 [INFO] Splitting data files into 64 MB logical chunks...
2025-06-16 17:01:22 [INFO] Split 1 data files to 1 logical chunks success. Elapsed: 25.01 ms
2025-06-16 17:01:22 [INFO] Bootstrap with Max Heap: 3 GB, Safe Heap: 3.12 GB
2025-06-16 17:01:22 [INFO] Querying primary/unique constraints metadata for data replacing...
2025-06-16 17:01:22 [INFO] Query table entry for table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 17:01:22 [INFO] Query leader location of table: "AN_LOGIC_CONN_LOG" finished. Remain: 0
2025-06-16 17:01:22 [INFO] Waiting to calculate leader for 1 subfiles....
2025-06-16 17:01:22 [INFO] Waiting to refresh observer load status....
2025-06-16 17:01:22 [INFO] Create 1024 slots for ring buffer finished. [192.168.207.18:2881]
2025-06-16 17:01:22 [INFO] Start 32 database writer threads finished. [192.168.207.18:2881]
2025-06-16 17:01:22 [INFO] Start 32 record file reader threads success
2025-06-16 17:01:22 [INFO] File: "/root/csv2/test.csv" has been parsed finished
2025-06-16 17:01:22 [WARN] Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 17:01:23 [ERROR] Error: Failed to load 1 records from "/root/csv2/test.csv" into table "GISTAR"."AN_LOGIC_CONN_LOG". Check "ob-loader-dumper.bad" and "ob-loader-dumper.discard" for details
2025-06-16 17:01:23 [INFO] ----------   Finished Tasks: 1       Running Tasks: 0        Progress: 100.00%       ----------
2025-06-16 17:01:23 [INFO] 

All Load Tasks Finished: 



----------------------------------------------------------------------------------------------------------------------------
        No.#        |        Type        |             Name             |            Count             |       Status       
----------------------------------------------------------------------------------------------------------------------------
         1          |       TABLE        |      AN_LOGIC_CONN_LOG       |            1 -> 0            |      FAILURE       
----------------------------------------------------------------------------------------------------------------------------

Total Count: 0          End Time: 2025-06-16 17:01:23


2025-06-16 17:01:23 [INFO] Load record finished. Total Elapsed: 1.488 s
2025-06-16 17:01:23 [ERROR] System exit 1
[root@ob csv2]#