这种大概率是 jdbc 和 doris 兼容性的问题。我建议你通过debug 方式找到 jdbc 发给 doris 的原始 sql,并且直连 doris 看看这个sql 是否返回正常结果。 如果直连doris 正常,那可能要调整jdbc 的使用方式。
Ling Miao 温天柱 <wtz4...@163.com> 于2022年1月18日周二 10:57写道: > column 17 这列字段时 > CHECK_TIME,字段类型是TIMESTAMP,其他表里这个字段值是NULL,部分表这个字段值是异常信息,情况比较奇怪。 > > > > > > > > > > > > > > > > > > 在 2022-01-18 10:51:49,"ling miao" <lingm...@apache.org> 写道: > >首先你需要确认一下,column 17 这个列的类型是什么?以及 value 'e792-02-22 13:30:02' 是否是你表里面的数据。 > > > >Ling Miao > > > >温天柱 <wtz4...@163.com> 于2022年1月18日周二 10:37写道: > > > >> 各位老师们好: > >> 我通过jdbc的方式去查询Doris中存储的表信息时,有部分表返回类似如下报错: > >> > >> > >> jdbc : > >> Caused by: java.sql.SQLException: Cannot convert value 'e767-06-09 > >> 18:23:19' from column 17 to TIMESTAMP. > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) > >> at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1170) > >> at com.mysql.jdbc.ByteArrayRow.getTimestampFast(ByteArrayRow.java:130) > >> at > >> > com.mysql.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:5921) > >> at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5591) > >> at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4552) > >> at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4698) > >> at > >> > com.dtstack.flinkx.metadatadoris.collector.JdbcCollector.toJavaBean(JdbcCollector.java:159) > >> ... 11 more > >> Caused by: java.lang.NumberFormatException: e767-06-09 18:23:19 > >> at com.mysql.jdbc.StringUtils.getInt(StringUtils.java:758) > >> at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1008) > >> ... 17 more > >> > >> > >> > >> > >> 这种报错只存在部分表中,但是这些表没有任何异常,只是在information.tables查询出来的结果中CHECK_TIME字段存在报错: > >> <failed to load> > >> java.sql.SQLException: Cannot convert value 'e792-02-22 13:30:02' from > >> column 17 to TIMESTAMP. > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) > >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) > >> at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1181) > >> at com.mysql.jdbc.BufferRow.getTimestampFast(BufferRow.java:559) > >> at > >> > com.mysql.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:5921) > >> at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5589) > >> at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4550) > >> in JdbcHelperImpl.getObject(JdbcHelperImpl.java:321) > >> Caused by: java.lang.NumberFormatException: > >> �xiaohe_dbxiao_ftp_dest_3_rep_10g > >> BASE TABLEDoris���������2021-10-27 17:14:39�e792-02-22 13:30:02���OLAP > >> at com.mysql.jdbc.StringUtils.getInt(StringUtils.java:758) > >> at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1018) > >> ... 25 more > >> > >> > >> 请问这种报错应该如何处理呢?如果是Doris bug,我想尝试修复下 > >> > >> >