【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题

datax的Oraclewriter

  • 报错显示
  • 查询报错展示
  • 查找datax中的数据插入模块

报错显示

occurred during batching: ORA-01704: string literal too long

查询报错展示

基本上查到的都是这样的,所以锁定是clob的字段类型的问题,而且是只有Oracle出问题,mysql和pg都没有问题
在这里插入图片描述

查找datax中的数据插入模块

类 CommonRdbmsWriter
方法:fillPreparedStatementColumnType
修改部分:

// Convert String to Clob
 Clob clob = connection.createClob();
 clob.setString(1, column.asString());
 preparedStatement.setClob(columnIndex + 1, clob);
 break;

【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题_第1张图片

你可能感兴趣的:(Datax相关,oracle,数据库,大数据)