oracle复制文件后多一字节,ORACLE使用GDS导入因数据中含有单字节,使部分行导入失败...

从ORACLE的数据库中将数据导入到GaussDB A,主要有以下两步

使用sqluldr2将ORACLE库中的数据导出到文本

使用gds将文本数据导入到GaussDB A中

因为涉及到文本,外表需要指定字段的分隔符。一般情况下我们使用双字节的分隔符不会有报错的发生,如下外表DDL,使用的是\x7c\x1c的双字节分隔符。

CREATE FOREIGN TABLE i_pubdata.f_pos_info (like i_pubdata.pos_info)

SERVER gsmpp_server

OPTIONS (location 'gsfs://192.168.1.1:5000/i_pubdata_pos_info.csv'

, format 'CSV'

, delimiter E'\x7c\x1c'

, quote E'\x06'

,  null ''

) ;

但在实际测试时仍然有报错,具体错误如下图

e260ba7879341c5cc2f7640e93eeea8c.png

查看导出的数据文件具体报错的行的内容,发现某列中存在单字节数据,而且该单字节是分隔符中的一个字节。在多次修改分隔符和quote以后,仍然有报错发生。

后发现使用 compatible_illegal_chars 'on' 这个OPTIONS内容,能够顺利导入数据

CREATE FOREIGN TABLE i_pubdata.f_pos_info (like i_pubdata.pos_info)

SERVER gsmpp_server

OPTIONS (location 'gsfs://192.168.1.1:5000/i_pubdata_pos_info.csv'

, format 'CSV'

, delimiter E'\x7c\x1c'

, quote E'\x06'

,  null ''

,compatible_illegal_chars 'on'  --增加该选项后就没有报错了

) ;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值