[ABI 5.1] ETL设计区运行失败

12324
7

sgg 小试身手Lv3

发表于2020-4-12 02:12

悬赏10

已解决

楼主
求大神指导,谢谢!

报错提示:2020-04-12 02:08:55 开始执行ETL过程:[检验单身抽取]
2020-04-12 02:08:55 开始执行组件:DCSIYK
2020-04-12 02:08:55 结束执行组件:DCSIYK
2020-04-12 02:08:55 开始执行组件:ODS_DCSIYK
2020-04-12 02:08:55 组件对应的输入SQL:

SELECT T0.IYK001 AS IYK001,T0.IYK002 AS IYK002,T0.IYK003 AS IYK003,T0.IYK004 AS IYK004,T0.IYK005 AS IYK005,T0.IYK006 AS IYK006,T0.IYK007 AS IYK007,T0.IYK008 AS IYK008,T0.IYK009 AS IYK009,T0.IYK010 AS IYK010,T0.IYK011 AS IYK011,T0.IYK901 AS IYK901,T0.IYK902 AS IYK902,T0.IYK903 AS IYK903,T0.IYK904 AS IYK904,T0.IYK905 AS IYK905,T0.IYK960 AS IYK960,T0.IYK961 AS IYK961,T0.IYK962 AS IYK962,T0.IYK963 AS IYK963,T0.IYK964 AS IYK964,T0.IYK965 AS IYK965,T0.IYK980 AS IYK980,T0.IYK981 AS IYK981,T0.IYK982 AS IYK982,T0.IYK983 AS IYK983,T0.IYK984 AS IYK984,T0.IYK985 AS IYK985
FROM dbo.DCSIYK T0
2020-04-12 02:08:55 开始迁移到目标表:erp_mxk.ODS_DCSIYK
2020-04-12 02:08:56 创建临时表:erp_mxk.T$UEOHOUO858,表结构为:IYK001(C|14),IYK002(C|3),IYK003(C|20),IYK004(N|12),IYK005(C|255),IYK006(C|1),IYK007(C|1),IYK008(C|20),IYK009(C|20),IYK010(N|13),IYK011(N|13),IYK901(C|8),IYK902(C|24),IYK903(C|8),IYK904(C|24),IYK905(I|19),IYK960(C|60),IYK961(C|60),IYK962(C|60),IYK963(C|60),IYK964(C|60),IYK965(C|60),IYK980(N|15),IYK981(N|15),IYK982(N|15),IYK983(N|15),IYK984(N|15),IYK985(N|15)
2020-04-12 02:08:56 com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2490)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
    at com.esen.jdbc.pool.PooledPreparedStatement.execute(PooledPreparedStatement.java:689)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.processRow(JdbcWriter.java:202)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.doSingleInsert(JdbcWriter.java:192)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.doBatchInsert(JdbcWriter.java:179)
    at com.esen.edf.data.migrate.common.buffer.DataReceiverRequestTask.call(DataReceiverRequestTask.java:69)
    at com.esen.edf.data.migrate.common.buffer.DataReceiverRequestTask.call(DataReceiverRequestTask.java:29)
    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:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.esen.exception.RuntimeException4I18N: 接收数据时出现异常
    ... 20 more
Caused by: com.esen.exception.RuntimeException4I18N: 批量插入数据出现异常,插入的SQL:
insert into erp_mxk.T$UEOHOUO858(`IYK001`,`IYK002`,`IYK003`,`IYK004`,`IYK005`,`IYK006`,`IYK007`,`IYK008`,`IYK009`,`IYK010`,`IYK011`,`IYK901`,`IYK902`,`IYK903`,`IYK904`,`IYK905`,`IYK960`,`IYK961`,`IYK962`,`IYK963`,`IYK964`,`IYK965`,`IYK980`,`IYK981`,`IYK982`,`IYK983`,`IYK984`,`IYK985`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
出错的数据行:
[20190318000001, 003, 604, 0.0000, 镉0.0057钴0.0273铬0.0311镍0.025钒0.0605锡1.86钡0.0386铜0.0997锰0.0674锌0.0741, 3, , , , 0.0000, 0.0000, 0615, 2019-03-18 14:08:10.403, 0610, 2019-10-26 22:32:44.687, 5, mg/L, , , , , , 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000]
    ... 20 more
Caused by: com.esen.jdbc.pool.impl.mysql.MysqlPooledSQLException: Incorrect string value: '\xE9\x95\x890.0...' for column 'IYK005' at row 1
    ... 20 more

2020-04-12 02:08:56 执行ETL过程[检验单身抽取]出现异常:com.esen.exception.RuntimeException4I18N: 执行数据迁移时出现异常
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2490)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
    at com.esen.jdbc.pool.PooledPreparedStatement.execute(PooledPreparedStatement.java:689)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.processRow(JdbcWriter.java:202)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.doSingleInsert(JdbcWriter.java:192)
    at com.esen.edf.data.migrate.jdbc.JdbcWriter.doBatchInsert(JdbcWriter.java:179)
    at com.esen.edf.data.migrate.common.buffer.DataReceiverRequestTask.call(DataReceiverRequestTask.java:69)
    at com.esen.edf.data.migrate.common.buffer.DataReceiverRequestTask.call(DataReceiverRequestTask.java:29)
    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:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.esen.exception.RuntimeException4I18N: 接收数据时出现异常
    ... 20 more
Caused by: com.esen.exception.RuntimeException4I18N: 批量插入数据出现异常,插入的SQL:
insert into erp_mxk.T$UEOHOUO858(`IYK001`,`IYK002`,`IYK003`,`IYK004`,`IYK005`,`IYK006`,`IYK007`,`IYK008`,`IYK009`,`IYK010`,`IYK011`,`IYK901`,`IYK902`,`IYK903`,`IYK904`,`IYK905`,`IYK960`,`IYK961`,`IYK962`,`IYK963`,`IYK964`,`IYK965`,`IYK980`,`IYK981`,`IYK982`,`IYK983`,`IYK984`,`IYK985`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
出错的数据行:
[20190318000001, 003, 604, 0.0000, 镉0.0057钴0.0273铬0.0311镍0.025钒0.0605锡1.86钡0.0386铜0.0997锰0.0674锌0.0741, 3, , , , 0.0000, 0.0000, 0615, 2019-03-18 14:08:10.403, 0610, 2019-10-26 22:32:44.687, 5, mg/L, , , , , , 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000]
    ... 20 more
Caused by: com.esen.jdbc.pool.impl.mysql.MysqlPooledSQLException: Incorrect string value: '\xE9\x95\x890.0...' for column 'IYK005' at row 1
    ... 20 more

最近看过此主题的会员

liguangliang

esen_4Y9QZHP1RS

杨敬华

esen_4XJTDWDIRM

刘伟良

董斯文

pandabuxizao

最佳答案
sgg 发表于 2020-4-12 12:09
解决了,老师。模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。 ...

关贴总结:
模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。
感谢楼主分享
7个回答

只看楼主

混乱七星天 数据达人Lv4

发表于2020-4-12 10:30

只看该作者

取消 关注该作者的回复

沙发

你这用的哪两个组件?想实现啥数据操作?

sgg 小试身手Lv3

发表于2020-4-12 10:40

只看该作者

取消 关注该作者的回复

板凳

混乱七星天 发表于 2020-4-12 10:30
你这用的哪两个组件?想实现啥数据操作?

表输入和表输出,设计完成后,点击“运行”,进行抽取数据。

混乱七星天 数据达人Lv4

发表于2020-4-12 10:53

只看该作者

取消 关注该作者的回复

地板

表输入,中间应该还要有数据操作的组件吧,直接连表输出,不合理吧

sgg 小试身手Lv3

发表于2020-4-12 11:06

只看该作者

取消 关注该作者的回复

5#

混乱七星天 发表于 2020-4-12 10:53
表输入,中间应该还要有数据操作的组件吧,直接连表输出,不合理吧

视频里面讲的就是这样做的。还需要加什么?

sgg 小试身手Lv3

发表于2020-4-12 12:09

只看该作者

取消 关注该作者的回复

6#

混乱七星天 发表于 2020-4-12 10:53
表输入,中间应该还要有数据操作的组件吧,直接连表输出,不合理吧

解决了,老师。模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。谢谢!

混乱七星天 数据达人Lv4

发表于2020-4-12 13:41

只看该作者

取消 关注该作者的回复

7#

sgg 发表于 2020-4-12 12:09
解决了,老师。模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。 ...

厉害啊

sgg 发表于 2020-4-12 12:09
解决了,老师。模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。 ...

关贴总结:
模型库使用的MySQL,建库的时候,charset要设置为utf8。改了之后,ETL就可以运行成功了。
感谢楼主分享

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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