背景:官网后台(MySQL)需要从CRM系统(Oracle)抽一张表,然后我使用ETL工具kettle来抽取数据。
问题:200W左右的数据抽到150W左右的时候突然抛出了一个错误,你说气不气:
【------2019-12-11更新一下问题:
最近几天项目需要,导数中又遇到这个问题,解决办法看另一篇 👇
https://mp.csdn.net/postedit/102729725
】
经查询,这个问题应该是这个字段中的数据编码不统一导致的,但是我按着别的方法都试了也没解决问题,删除数据的时候把官网都搞卡了。最后把wyn_address这个字段删掉就成功了。(这个字段里面的数据比较乱:文字数字各种不规范)
最后的最后,从Oracle中把包含报错字段wyn_address的所有数据拷到本地,结果一次成功,
本地测试结果:
查询数据库编码发现,确实不一致:
官网数据库编码:character_set_server = latin1
本地数据库编码:character_set_server = utf8
记录:官网默认数据库编码 一直都是latin1,生产库也不敢动!如果可以修改,改成utf8或utf8mb4,应该就成功了。(以自己实际测试结果为准)
--本地测试:
把本地MySQL库的server编码改成latin1,kettle转换也顺利通过,懵逼脸。。。
进死胡同了,先不纠结了,反正address字段也不重要,可以去掉此字段,问题先解决了再说!!!
问题先记录一下,后续研究研究!!!
-------2019-12-11
最近几天项目需要,导数中又遇到这个问题,解决办法看另一篇 👇
https://mp.csdn.net/postedit/102729725