社区网站开发进度表,阿里云 个人网站 名称,太仓新网站优化,天猫网站左侧导航是怎么做的1.问题描述
Datax从mongodb写入数据到psql报错如下
org.postgresql.util.PSQLException: ERROR: invalid bytesequence for encoding UTF8: 0x002.原因分析
此为psql独有的错误#xff0c;不能对特殊字符’/u0000’,进行序列化#xff0c;需要将此特殊字符替…1.问题描述
Datax从mongodb写入数据到psql报错如下
org.postgresql.util.PSQLException: ERROR: invalid bytesequence for encoding UTF8: 0x002.原因分析
此为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 ListString 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