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

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

时间:2024-07-26 22:51:55浏览次数:14  
标签:stringtype postgresql 数据库 kettle 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(名字自定义的)这里依然可以进行数据库连接参数,如下图所示:

 

标签:stringtype,postgresql,数据库,kettle,json,参数,所示
From: https://www.cnblogs.com/zjBoy/p/18325015

相关文章

  • kettle从入门到精通 第八十课 ETL之kettle kettle中的json对象字段写入postgresql中的
    场景:源数据库表为mysql的其中有json字段,通过kettle查询出来插入到目标数据库postgresql中,对应的表中也有json字段。。但是报错,提示kettle查询出来是varchar的的字段,无法插入到目标数据库中。1、创建测试表。CREATETABLEt3(idint,nameJSON);2、测试mysql......
  • 常用System.Text.Json的JsonSerializerOptions配置
    newJsonSerializerOptions{PropertyNamingPolicy=JsonNamingPolicy.CamelCase,//驼峰命名规则Encoder=JavaScriptEncoder.Create(UnicodeRanges.BasicLatin,//基础拉丁文字母UnicodeRanges.CjkUnifiedIdeographs,//中日韩统一的表意文字......
  • Dbeaver离线配置postgresql驱动
    下载驱动包https://jdbc.postgresql.org/download/下载后的驱动jar包如下所示,不同版本后缀不同,不必纠结(特殊情况除外)Dbeaver离线配置PostgreSQL驱动数据库>驱动管理器>PostgreSQL把库中的目录全部删除掉后,添加文件:把刚下载的驱动文件路径配置进去测试PostgreSQL连......
  • 聊一聊PostgreSQL数据库,以及PostgreSQL认证体系
    PostgreSQL数据库简介PostgreSQL是一种强大的开源关系型数据库管理系统(RDBMS)。它具有以下显著特点和优势:强大的功能:支持丰富的数据类型,包括数组、JSON、XML等复杂数据类型。提供完善的事务处理机制,确保数据的一致性和可靠性。高度的可扩展性:可以通过自定义函数、存储过程和......
  • 无法访问 json 属性
    我正在尝试访问此json的“城市”属性,但不知何故它不起作用,这是json结构:"{\"ForSaleShopperPlatformFullRenderQuery{\\\"zpid\\\":28657235,\\\"platform\\\":\\\"DESKTOP_WEB\\\",\\\"formType\\\":\\\"OPA......
  • 尝试解析文件中的多个 JSON 时字符索引不一致
    我使用以下代码来解析.json文件中存储的流中以逗号分隔的JSON多行对象:defstream_read_json(fn):importjsonstart_pos=0withopen(fn,'r',encoding='utf-8')asf:whileTrue:try:obj=json.load(f)yieldobj......
  • GeoTools 读取 GeoPackage (`.gpkg`) 文件转为 GeoJSON
    要使用GeoTools读取GeoPackage(.gpkg)文件的第一个图层并将其转换为GeoJSON字符串,可以按照以下步骤进行:读取GeoPackage文件:使用GeoTools的DataStore类来访问GeoPackage文件。获取第一个图层:从DataStore中获取图层信息。将图层数据转换为GeoJSON:使用Featur......
  • 【PostgreSQL教程】PostgreSQL 创建数据库
    博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。感兴趣的可以先......
  • fastJson对jsonPath的支持
    使用场景很多时候我们调用上游接口拿到的返回值是json字符串,如果不存在上游共享的公用返回值类,那么下游可能会直接使用JsonObject之类的动态对象类承接这份数据。这时候对于很深的的属性取值是非常复杂的我们大概会这样写Stringgetvalue(StringjsonStr){JSONObjectjson......
  • 求教Postgresql在jdbc处理bit(1)字段的预处理解决方案
    文章目录1.建表语句:2.使用以下方式的预处理方式都报错了3.可以先用sql拼接实现功能1.建表语句:CREATETABLEpublic.h_user( idserial4notnull, usernamevarchar(50)NULL, "password"varchar(64)NULL, nicknamevarchar(60)NULL, emailvarchar(255)N......