kettle向MySQL推数据时报错: Incorrect string value: ‘\xF0\x9F\x87\xB3‘ for column ‘WYN_ADDRESS‘ at row 1

背景:官网后台(MySQL)需要从CRM系统(Oracle)抽一张表,然后我使用ETL工具kettle来抽取数据。

问题:200W左右的数据抽到150W左右的时候突然抛出了一个错误,你说气不气:

    【------2019-12-11更新一下问题:

       最近几天项目需要,导数中又遇到这个问题,解决办法看另一篇  👇

          CSDN

     】

经查询,这个问题应该是这个字段中的数据编码不统一导致的,但是我按着别的方法都试了也没解决问题,删除数据的时候把官网都搞卡了。最后把wyn_address这个字段删掉就成功了。(这个字段里面的数据比较乱:文字数字各种不规范)

最后的最后,从Oracle中把包含报错字段wyn_address的所有数据拷到本地,结果一次成功,

本地测试结果:

查询数据库编码发现,确实不一致:

官网数据库编码:character_set_server = latin1

本地数据库编码:character_set_server = utf8

记录:官网默认数据库编码 一直都是latin1,生产库也不敢动!如果可以修改,改成utf8或utf8mb4,应该就成功了。(以自己实际测试结果为准)

--本地测试:

把本地MySQL库的server编码改成latin1,kettle转换也顺利通过,懵逼脸。。。

进死胡同了,先不纠结了,反正address字段也不重要,可以去掉此字段,问题先解决了再说!!!

问题先记录一下,后续研究研究!!!

-------2019-12-11

最近几天项目需要,导数中又遇到这个问题,解决办法看另一篇  👇

CSDN

------记录于20221024------

大佬指导,小本本记下来:说是缓存原因造成的错误以上错误;

我自己遇到的好像是因为CRM系统address字段有特殊符号,最后找出来过滤掉就成功了(例如龙字,显示的是图案),注意字符编码类型。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值