obloader 执行报错

【 使用环境 】测试环境
【 OB or 其他组件 】obloader
【 使用版本 】3.0.1
【问题描述】使用obloader导入报错
【复现路径】
【问题现象及影响】提示如下错误

2023-05-24 17:11:25 [ERROR] Load failed! Error: File: "TEST.ctrl" Line:[3,0] Error: mismatched input 'tcl1' expecting {QUOTED_NAME_LITERAL, NAME_LITERAL}

obloader 执行命令如下:

/obloader/bin/obloader  -h xxx -P xxx -U xxx -p xxx -c x86_dev -t sitdbl -D SITDB --public-cloud 
-f /data/obtest/table/TEST.txt
--file-encodingGBK' 
--table TEST 
--ctl-path /data/obtest/TEST.ctrl 
--log-path /data/obtest/logs
--cut 
--max-errors 2000000 
--exclude-table '*'
--external-data
--column-splitter '|'
--line-separator "\r\n" 
--nls-date-format 'yyyy-mm-dd hh24:mi:ss' 
>> /data/obtest/logs/TEST.log

【附件】
TEST.ctrl 内容:

lang=java
(
   tc1
);

TEST.txt 内容

1\r\n2\r\n3

可能是预处理缺少函数。可以试下 tc1 “lower(tc1)”

TEST.txt 内容

1\r\n2\r\n3

为啥3后面没有符号呢?可以把3删除在试下

没看懂你要做什么,报错:“没有匹配 ‘tcl1’ ",你导入的文件中,确定有tcl1嘛?

然后你又排除了所有表,–exclude-table ‘*’ ,这是要做啥。。。

然后 -f 应该指定的是”数据文件所在的目录或者数据文件绝对路径“,你写的是TEST.txt 。。这怎么能找到导出的表数据和表结构呢

–table后面的值与控制文件中的值也不一致

你导入的文件中,确定有tcl1嘛?

– 导入文件就是TEST.txt,内容已贴上

–exclude-table ‘*’

– 这个参数我已经去除

然后 -f 应该指定的是”数据文件所在的目录或者数据文件绝对路径

– 这里我指定的是绝对路径的

–table后面的值与控制文件中的值也不一致

-这个我没太明白,哪个地方的值需要与控制文件哪个地方一致?

导入的文件应该是obdumper导出的数据, --table后面是test,说明你想导入的是test,但是报错的是tcl1

@AntTech_G60LW5 TEST这张表的表定义可以提供下吗?

表定义没拿出来,但是表就是建的临时测试表,里面放了个字段 tc1

换了个obloader 版本就好了,命令什么都是一致的。

已经解决了,换了obloader 版本