首页 新闻 会员 周边 捐助

invalid length of bytes "numeric" value错误

0
悬赏园豆:10 [待解决问题]

问题:
用springboot实现一个查询功能,在测试环境不报错,在生产环境会报错,但是再点击查询也能查出数据。
报错:
F12-网络-响应里报错:code:internal_server_error,message:Error attempting to get column 'xxx' from result set. Cause: java.sql.SQLException: Error。
生产环境日志里报错:uncategorized SQLException; SQL state [null]; error code [0]; Error; nested exception is java.sql.SQLException: Error
org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'xxx' from result set. Cause: java.sql.SQLException: Error; at com.alibaba.druid.pool.DruidPooledResultSet.getBigDecimal(DruidPooledResultSet.java:480)
at org.postgresql.jdbc.PgResultSet.getBigDecimal(PgResultSet.java:438)
at org.postgresql.jdbc.PgResultSet.getBigDecimal(PgResultSet.java:434)
at org.postgresql.jdbc.PgResultSet.getBigDecimal(PgResultSet.java:2658)
at org.postgresql.jdbc.PgResultSet.getNumeric(PgResultSet.java:2683)
at org.postgresql.util.ByteConverter.numeric(ByteConverter.java:111)
at org.postgresql.util.ByteConverter.numeric(ByteConverter.java:157)
Caused by: java.lang.IllegalArgumentException: invalid length of bytes "numeric" value

提供的信息:
1.这个字段在数据库里的数据类型是numeric,实体里是BigDecimal,精度没有限制,可以是空值,生产环境的最大值是1111111.111111。
2.把生成环境的数据放在测试环境里测试,不报错。
3.生产环境里数据库版本:PostGreSQL 9.2.4(GaussDB 8.1.1 build 4394acf2) compiled at 2023-01-16 03:09:38 commit 2609 last mr 5121 release
测试环境的数据库版本:(openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:09:38 commit 0 last mr on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit,数据库驱动程序的版本是42.3.8。

这个可能是什么原因导致的。

小博想学习的主页 小博想学习 | 初学一级 | 园豆:192
提问于:2024-11-06 17:25
< >
分享
所有回答(1)
0

数据库驱动程序的版本是42.3.8和openGauss 5.0.0 PostGreSQL 9.2.4(GaussDB 8.1.1)的差别有点大,兼容性估计有些问题
现在测试环境部署个同版本的 PostGreSQL 9.2.4试下,这是比较快的处理方法

2012 | 园豆:21645 (高人七级) | 2024-11-06 17:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册