当前位置: 首页 > news >正文

[BUG]Datax写入数据到psql报不能序列化特殊字符

1.问题描述

Datax从mongodb写入数据到psql报错如下
img

org.postgresql.util.PSQLException: ERROR: invalid bytesequence for encoding "UTF8": 0x00

2.原因分析

此为psql独有的错误,不能对特殊字符’/u0000’,进行序列化,需要将此特殊字符替换掉,由于datax中不能对mongodb进行select处理,因此此处需要对源码进行处理。
由报错可知,出错的jar报为:plugin-rdbms-util-0.0.1-SNAPSHOT.jar
由报错可知,出错的class报为:com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter

3.问题解决

//1.下载datax源码,找到com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter文件
//2.修改源码com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter类中的 Task 
//找到fillPreparedStatementColumnType方法
protected List<String> alterColumns;
//  case Types.LONGNVARCHAR:// preparedStatement.setString(columnIndex + 1, column//         .asString());// break;//替换为
case Types.LONGNVARCHAR:
String value = column.asString();if (Objects.nonNull(value)) {value = value.trim().replaceAll("\u0000", "");}preparedStatement.setString(columnIndex + 1, value);break;
//3.编译plugin-rdbms-util模块形成plugin-rdbms-util-0.0.1-SNAPSHOT.jar
//4.替换plugin-rdbms-util-0.0.1-SNAPSHOT.jar
cp plugin-rdbms-util-0.0.1-SNAPSHOT.jar /datax/plugin/writer/postgresqlwriter/libs/

4.测试是否完成

5.安装包下载

plugin-rdbms-util-0.0.1-SNAPSHOT.jar安装包下载 提取码: kwhr

http://www.lryc.cn/news/273232.html

相关文章:

  • 用数据结构python写大数计算器
  • 08.哲说建造者模式(Builder Pattern)
  • ubuntu18.04查询实时内存、CPU占用率命令
  • Python计算圆的面积
  • (Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)
  • DolphinScheduler实际应用
  • P10 RV1126推流项目——ffmpeg输出参数初始化
  • 正定矩阵在格密码中的应用(知识铺垫)
  • 关于使用Selenium获取网页控制台的数据
  • vue2和vue3中的路由使用及传参方式
  • 论文管理器
  • postfix配置tls加密
  • 虚拟专线网络(IP-VPN)
  • 【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?
  • K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发
  • 分布式基础概念
  • 蓝桥杯python比赛历届真题99道经典练习题 (89-99)
  • 蚂蚁矿机AntMiner T9+引出IO定义
  • 浅析 Dockerfile 构建缓存:原理与优化方法
  • 隐藏层节点数对分类准确率的影响
  • 【水浸传感器】软硬件一体水浸监测整套方案远程监测解决各种环境漏水问题
  • 知虾会员**成为知虾会员,尊享专属权益**
  • 好代码网同款wordpress主题,适合搭建资源分享类网站,自带五六百的精品资源数据
  • Java多线程<三>常见的多线程设计模式
  • JavaScript 基础二part1.运算符:赋值、一元、比较、逻辑运算符
  • Linux 进程(八) 进程的退出码
  • Go语言中支持的internal目录配置与组织内私网包配置详解
  • 如何使用Nmap加强网络安全?
  • LeetCode 2487. 从链表中移除节点:单调栈
  • LabVIEW在高精度机器人视觉定位系统中的应用