在通过kettle对sqlsever数据迁移至postgresql操作时,报错无效的 “UTF8” 编码字节顺序: 0x00
这里先记录一下解决方案:
方案1:
对于输入对象 sqlsever的数据库表查询时,针对char varchar类型字段做replace函数处理。即,将空串占位符替换成空字符串。
SQL案例: select REPLACE(fieldName, CHAR(0), '') from table
方案2:
查询结果做处理,增加字符串替换,再去导入。
原由:就是因为sqlserver和pg的编码不一致,sqlserver的空串处理用了结束符,pg不支持该字符导入。所以报错了。
更详细的原因及解析在下方文章可查。
[转] SqlServe到PG迁移错误:无效的编码序列"UTF8": 0x00-阿里云开发者社区 (aliyun.com)
kettle的解决方案也可以查看下方文章:
kettle同步数据表时报错:无效的 “UTF8” 编码字节顺序: 0x00_nasty11pig的博客-CSDN博客_无效的utf8编码字节顺序