使用obloader导入cut数据时候,插入数据库的时候只能识别部分字段,导致插入数据库报错,文件中没有主键,用sequence生成主键




图一是数据库表结构、图二是ctrl文件,图三是obloader.bad文件,其中显示obloader只能识别到file_name、batch_num、data_time三个字段,不清楚是什么原因导致的,(一开始数据库这三个字段都是小写,其它字段都是大写,然后将表删了重建全部改为大写还是只能识别到这3个字段)

1 个赞


这sql手动执行应该也会报错,cut文件生存错误了吧?

1 个赞

是的,不清楚为什么会这样生成sql

1 个赞

麻烦提供几行你的cut文件数据

1 个赞

我找到原因了,原因是我数据库表的字段是大写,ctrl文件字段是大写,obloader导入数据的时候,字段识别不到导致的,但是感觉也有问题,为什么大写会识别不到呢,应该是大小写不敏感的,这样识别不到感觉有问题哈

1 个赞

您好,能否提供下:

  1. obloader 版本
  2. obloader 复现的命令
1 个赞

ob版本4.2.6,你将我图一中的数据库表名改为大写,去执行/bin/obloader -h(省略-p -c -t --table --cut == ctl-path)命令就能复现,或者你们在4.2.6版本搞一张表,字段名都是大写,然后写对应ctrl文件,去执行导入命令就能复现了

1 个赞

如果mysql租户下,库中列名是大写的,控制文件不生效是符合预期的。正确的使用方式可以参考如下用法:


https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000001953294

3 个赞

谢谢

1 个赞

:+1: :+1: :+1: