kettle从入门到精通 第八十一课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段正确姿势

1、上一节可讲解了如何将json数据写入pg数据库表中的json字段,虽然实现了效果,但若客户继续使用表输出步骤则仍然无法解决问题。

正确的的解决方式是设置数据库连接参数stringtype=unspecified

2、stringtype=unspecified 参数的作用:

当设置为 unspecified 时,pg JDBC 驱动将根据数据库列的实际数据类型来决定如何处理字符串数据。这意味着,驱动不会强制将所有字符串数据统一为某种特定的 Java 字符串类型。

这通常意味着 JDBC 驱动会尽可能准确地反映数据库中的字符串数据类型。在一些情况下,这可以避免不必要的数据转换,或者使得数据类型映射更符合数据库的实际设计。

其他 stringtype 选项
  stringtype=ascii:JDBC 驱动将所有文本数据都处理为 ASCII 编码。这可能会导致非 ASCII 字符被截断或损坏,因此这个选项较少使用。
   stringtype=unicode:JDBC 驱动将所有文本数据处理为 Unicode 编码,适合需要处理多语言和特殊字符的场景。

3、配置数据库连接属性:

1)通过表输出步骤点击编辑按钮打开数据库连接配置窗口,如下图所示:

 2)切换到选项tab,命令参数里面添加stringtype=unspecified

 3)点击测试按钮验证参数是否正确,如下图所示:

  4)将参数调整错误然后点击测试按钮,提示无法正确连接到数据库,如下图所示:

  5)点击特征列表按钮,看到url参数后面已经正确的拼接上stringtype参数,如下图所示:

4、保存数据库连接参数设置&运行,json字符串数据被正确写入pg数据库,如下图所示:

 5、处理表输出步骤这里可以编辑数据库连接参数以外,主对象树-》DB连接-》pg(名字自定义的)这里依然可以进行数据库连接参数,如下图所示:

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值