-
-
萧涤 数据小白Lv1
发表于2023-8-11 09:27
悬赏1
已解决
楼主
报错日志如下,目标字段是时间戳格式,想把null插入目标列
执行ETL过程[]出现异常:com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
at java.sql.Timestamp.valueOf(Timestamp.java:202)
at oracle.jdbc.driver.CharCommonAccessor.getTimestamp(CharCommonAccessor.java:544)
at oracle.jdbc.driver.T4CVarcharAccessor.getTimestamp(T4CVarcharAccessor.java:947)
at oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:1422)
at com.esen.jdbc.pool.PooledResultSet.getTimestamp(PooledResultSet.java:143)
at com.esen.edf.data.migrate.jdbc.JdbcReader$ResultSetHandler.fillColumn(JdbcReader.java:226)
at com.esen.edf.data.migrate.jdbc.JdbcReader$ResultSetHandler.getDataRow(JdbcReader.java:183)
at com.esen.edf.data.migrate.jdbc.JdbcReader.getRow(JdbcReader.java:136)
at com.esen.edf.data.migrate.common.buffer.DataSenderRequestTask.call(DataSenderRequestTask.java:54)
at com.esen.edf.data.migrate.common.buffer.DataSenderRequestTask.call(DataSenderRequestTask.java:24)
at com.esen.ethreadpool.req.RequestTaskFutureImpl.call(RequestTaskFutureImpl.java:100)
at com.esen.scheduling.LocaleTask.call(LocaleTask.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.esen.exception.RuntimeException4I18N: 发送数据时出现异常
... 16 more
Caused by: com.esen.exception.RuntimeException4I18N: 从结果集获取字段MATURITY,类型93数据出现异常
... 16 more
Caused by: java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
... 16 more
执行ETL过程[]出现异常:com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
at java.sql.Timestamp.valueOf(Timestamp.java:202)
at oracle.jdbc.driver.CharCommonAccessor.getTimestamp(CharCommonAccessor.java:544)
at oracle.jdbc.driver.T4CVarcharAccessor.getTimestamp(T4CVarcharAccessor.java:947)
at oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:1422)
at com.esen.jdbc.pool.PooledResultSet.getTimestamp(PooledResultSet.java:143)
at com.esen.edf.data.migrate.jdbc.JdbcReader$ResultSetHandler.fillColumn(JdbcReader.java:226)
at com.esen.edf.data.migrate.jdbc.JdbcReader$ResultSetHandler.getDataRow(JdbcReader.java:183)
at com.esen.edf.data.migrate.jdbc.JdbcReader.getRow(JdbcReader.java:136)
at com.esen.edf.data.migrate.common.buffer.DataSenderRequestTask.call(DataSenderRequestTask.java:54)
at com.esen.edf.data.migrate.common.buffer.DataSenderRequestTask.call(DataSenderRequestTask.java:24)
at com.esen.ethreadpool.req.RequestTaskFutureImpl.call(RequestTaskFutureImpl.java:100)
at com.esen.scheduling.LocaleTask.call(LocaleTask.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.esen.exception.RuntimeException4I18N: 发送数据时出现异常
... 16 more
Caused by: com.esen.exception.RuntimeException4I18N: 从结果集获取字段MATURITY,类型93数据出现异常
... 16 more
Caused by: java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
... 16 more
13个回答
目标数据库是oracle,源是sql输入,select null as 和select '' as 都试过,sql输入接表达式组件 表达式组件中 MATURITY SqlSource2.MATURITY MATURITY P ,目标表数据类型如第二个截图
萧涤 发表于 2023-8-11 11:24
回到楼里了,大佬看看
是需要新增一个空的日期字段,输出到对应输出表中?
可以试试在sql输入中不加日期字段,在表达式组件中添加,值:'' ,数据类型根据需求设置
chestnut 发表于 2023-8-11 14:30
是需要新增一个空的日期字段,输出到对应输出表中?
可以试试在sql输入中不加日期字段,在表达式组件中添 ...
日期型,时间戳都试过了,报错是一样的
chestnut 发表于 2023-8-11 14:57
输出的数据库表是已经创建好的吗?是否有数据呢?输出组件中更新方式设置的是什么? ...
目标表是已经创建过的,有数据的,输出组件设置的更新方式是数据附加