kettle从入门到精通 第八十课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段
场景:源数据库表为mysql的其中有json字段,通过kettle 查询出来 插入到目标数据库 postgresql中,对应的表中也有json字段。。但是报错,提示kettle查询出来是varchar的的字段,无法插入到目标数据库中。
1、创建测试表。
CREATE TABLE t3 ( id int, name JSON );
2、测试mysql
使用mysql,字段类型无论使用String还是Binary类型数据都可以正常插入mysql表中的json字段,如下图所示:
3、测试postgres
1)字段类型设置为String,无法正常插入,表输出报错,如下图所示:
2)字段类型设置为Binary,依然无法正常插入,表输出报错,如下图所示:
4、错误信息丢给GPT寻转答案
5、根据gpt建议进行测试,动态构造sql语句&动态执行。如下图所示:
保存&点击运行,数据正确插入postgresql数据库。
查看数据T3表,数据已经正确被写入,如下图所示:
6、写在最后
本人在DBeaver中直接执行INSERT INTO public.t3 (name) VALUES ('{"name":"java小金刚"}');是可以正常插入到json字段的,猜测DBeaver应该有进行转换处理。
原文地址:https://blog.csdn.net/zhangjin1222/article/details/140725827
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!