-
-
愿你似阳光 初学数据Lv2
发表于2020-11-11 16:06
悬赏300
已解决
ABI版本 标准版 V5.2.2_20200414120530
ETL过程 JOB_CON_CONTRACT_BP 执行报错:CREATION_DATE字段出现 类型93数据出现异常
下图为数据库表在源系统和目标系统的表结构,是一致的。
直接执行ETL过程 JOB_CON_CONTRACT_BP,在主题表输出组件插入数据时 CREATION_DATE字段出现 类型93数据出现异常。但是限制记录1000条时可以正常运行,本表共有630条数据,截图如下:
以下为报错日志:
2020-11-11 15:51:58 开始执行ETL过程:[JOB_CON_CONTRACT_BP]
2020-11-11 15:51:58 开始执行组件:SQL组件1
2020-11-11 15:51:58 结束执行组件:SQL组件1
2020-11-11 15:51:58 开始执行组件:ZJZL_PROD.CON_CONTRACT_BP
2020-11-11 15:51:58 结束执行组件:ZJZL_PROD.CON_CONTRACT_BP
2020-11-11 15:51:58 开始执行组件:表达式组件1
2020-11-11 15:51:58 结束执行组件:表达式组件1
2020-11-11 15:51:58 开始执行组件:CON_CONTRACT_BP
2020-11-11 15:51:58 组件对应的输入SQL:
SELECT 20201110 AS LOAD_DATE,T0.CONTRACT_BP_ID AS CONTRACT_BP_ID,T0.CONTRACT_ID AS CONTRACT_ID,T0.BP_CATEGORY AS BP_CATEGORY,T0.BP_TYPE AS BP_TYPE,T0.BP_ID AS BP_ID,T0.OBJECT_VERSION_NUMBER AS OBJECT_VERSION_NUMBER,T0.REQUEST_ID AS REQUEST_ID,T0.PROGRAM_ID AS PROGRAM_ID,T0.CREATED_BY AS CREATED_BY,T0.CREATION_DATE AS CREATION_DATE,T0.LAST_UPDATED_BY AS LAST_UPDATED_BY,T0.LAST_UPDATE_DATE AS LAST_UPDATE_DATE,T0.LAST_UPDATE_LOGIN AS LAST_UPDATE_LOGIN,T0.TAX_ID AS TAX_ID,T0.ADDRESS_ID AS ADDRESS_ID,T0.CONTACT_INFO_ID AS CONTACT_INFO_ID,T0.BANK_ACCOUNT_ID AS BANK_ACCOUNT_ID
FROM (
SELECT T0.CONTRACT_BP_ID AS CONTRACT_BP_ID,T0.CONTRACT_ID AS CONTRACT_ID,T0.BP_CATEGORY AS BP_CATEGORY,T0.BP_TYPE AS BP_TYPE,T0.BP_ID AS BP_ID,T0.OBJECT_VERSION_NUMBER AS OBJECT_VERSION_NUMBER,T0.REQUEST_ID AS REQUEST_ID,T0.PROGRAM_ID AS PROGRAM_ID,T0.CREATED_BY AS CREATED_BY,T0.CREATION_DATE AS CREATION_DATE,T0.LAST_UPDATED_BY AS LAST_UPDATED_BY,T0.LAST_UPDATE_DATE AS LAST_UPDATE_DATE,T0.LAST_UPDATE_LOGIN AS LAST_UPDATE_LOGIN,T0.TAX_ID AS TAX_ID,T0.ADDRESS_ID AS ADDRESS_ID,T0.CONTACT_INFO_ID AS CONTACT_INFO_ID,T0.BANK_ACCOUNT_ID AS BANK_ACCOUNT_ID
FROM ZJZL_PROD.CON_CONTRACT_BP T0) T0
2020-11-11 15:51:58 开始迁移到目标表:ZJZL_ODS.CON_CONTRACT_BP
2020-11-11 15:51:58 数据查询耗时:1毫秒结果集结构:
LOAD_DATE(N|0),CONTRACT_BP_ID(N|38),CONTRACT_ID(N|38),BP_CATEGORY(C|100),BP_TYPE(C|100),BP_ID(N|0),OBJECT_VERSION_NUMBER(N|38),REQUEST_ID(N|38),PROGRAM_ID(N|38),CREATED_BY(N|38),CREATION_DATE(P|0),LAST_UPDATED_BY(N|38),LAST_UPDATE_DATE(P|0),LAST_UPDATE_LOGIN(N|38),TAX_ID(N|38),ADDRESS_ID(N|38),CONTACT_INFO_ID(N|38),BANK_ACCOUNT_ID(N|38)
2020-11-11 15:51:58 数据迁移插入SQL:
insert into ZJZL_ODS.CON_CONTRACT_BP("CONTRACT_BP_ID","CONTRACT_ID","BP_CATEGORY","BP_TYPE","BP_ID","OBJECT_VERSION_NUMBER","REQUEST_ID","
ROGRAM_ID","CREATED_BY","CREATION_DATE","LAST_UPDATED_BY","LAST_UPDATE_DATE","LAST_UPDATE_LOGIN","TAX_ID","ADDRESS_ID","CONTACT_INFO_ID","BANK_ACCOUNT_ID","LOAD_DATE") values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2020-11-11 15:51:58 com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
at oracle.jdbc.driver.Accessor.unimpl(Accessor.java:412)
at oracle.jdbc.driver.Accessor.getTimestamp(Accessor.java:794)
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:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.esen.exception.RuntimeException4I18N: 发送数据时出现异常
... 15 more
Caused by: com.esen.exception.RuntimeException4I18N: 从结果集获取字段CREATION_DATE,类型93数据出现异常
... 15 more
Caused by: java.sql.SQLException: 无效的列类型: getTimestamp not implemented for class oracle.jdbc.driver.T4CNumberAccessor
... 15 more
2020-11-11 15:51:58 执行ETL过程[JOB_CON_CONTRACT_BP]出现异常:com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
at oracle.jdbc.driver.Accessor.unimpl(Accessor.java:412)
at oracle.jdbc.driver.Accessor.getTimestamp(Accessor.java:794)
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:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.esen.exception.RuntimeException4I18N: 发送数据时出现异常
... 15 more
Caused by: com.esen.exception.RuntimeException4I18N: 从结果集获取字段CREATION_DATE,类型93数据出现异常
... 15 more
Caused by: java.sql.SQLException: 无效的列类型: getTimestamp not implemented for class oracle.jdbc.driver.T4CNumberAccessor
... 15 more
13个回答
xxxl 发表于 2020-11-11 17:54
报的错是一样的吗
是一样的。现在的情况是 两个环境 输入端的数据源是一致的,ETLjob是从标准版 V5.2.2_20191203160911导出到 标准版 V5.2.2_20200414120530的,输出端虽然不是同一个库,但是表结构是一模一样的。但是现在就是小版本是2019的可以,2020的不行
愿你似阳光 发表于 2020-11-11 17:58
是一样的。现在的情况是 两个环境 输入端的数据源是一致的,ETLjob是从标准版 V5.2.2_20191203160911导出 ...
那可能就是bug了,内网找到了一个类似的问题帖子,我私聊和您说了


