[ABI 5.1] 数据整合ETL过程取数报类型93数据出现异常

22063
13

愿你似阳光 初学数据Lv2

发表于2020-11-11 16:06

悬赏300

已解决

楼主
本帖最后由 愿你似阳光 于 2020-11-11 16:06 编辑

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



最近看过此主题的会员

xinbaobiao

esen_51JBYX12HL

左岸右转

小新

刘伟良

养蚯蚓吃沙漠

pandabuxizao

数据大白

13个回答

只看楼主

xxxl 数据领袖Lv6

发表于2020-11-11 17:54

只看该作者

取消 关注该作者的回复

12#

愿你似阳光 发表于 2020-11-11 17:47
还是会报错,但是这个日期型的字段中 有一些是空值,不知道是不是这个原因。 ...

报的错是一样的吗

愿你似阳光 初学数据Lv2

发表于2020-11-11 17:58

只看该作者

取消 关注该作者的回复

13#

xxxl 发表于 2020-11-11 17:54
报的错是一样的吗

是一样的。现在的情况是 两个环境 输入端的数据源是一致的,ETLjob是从标准版 V5.2.2_20191203160911导出到 标准版 V5.2.2_20200414120530的,输出端虽然不是同一个库,但是表结构是一模一样的。但是现在就是小版本是2019的可以,2020的不行

xxxl 数据领袖Lv6

发表于2020-11-11 18:01

只看该作者

取消 关注该作者的回复

14#

愿你似阳光 发表于 2020-11-11 17:58
是一样的。现在的情况是 两个环境 输入端的数据源是一致的,ETLjob是从标准版 V5.2.2_20191203160911导出 ...

那可能就是bug了,内网找到了一个类似的问题帖子,我私聊和您说了

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号