Kettle默认的会自动把空字符串转换成NULL,在数据同步的情形下可能会导致结果异常:一个表的字段是IS NOT NULL约束,当表中该字段有空字符串的数据时,空字符串数据插入到目标表时会插入NULL值,导致job异常。

有两种解决方案:
1、用trans中的组件把NULL转换成空字符串:If field value is null或者JavaScript等
2、修改kettle的默认配置
第一种方式需要把所有可能的字段都选择出来,效率低。第二种方法就一劳永逸了,这里说下第二种方式的配置。
vim kettle.properties,增加下面一行:
KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL=Y
然后重启kettle。

加入KETTLE技术QQ交流群,分享学习心得,一起共同进步。
QQ群:452881901,扫二维码快速加群:

文章转载自data之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




