SqlExceptionHelper 142: ORA-00909: 参数个数无效
Posted Al_tair
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlExceptionHelper 142: ORA-00909: 参数个数无效相关的知识,希望对你有一定的参考价值。
遇到问题:[ERROR] 13:14:34 o.h.e.jdbc.spi.SqlExceptionHelper 142: ORA-00909: 参数个数无效
解决思路:出错的位置在哪里?出错原因在哪里?
思路:
- 寻找有效的报错点就行查询信息往往更能一击致命(找重点)
- 如果无法查询到有效信息,可以通过debug直接测试可能出现的报错点以及数据的异常点
- 找到报错点,我们可以进行分内部原因或者外部原因,如果是内部框架原因,那百度的意义可能就没有那么明显了
- 去推测出现错误的几种可能性,更好的缩小范围来清楚问题所在,最终解决问题
上述出现的重点: jdbc.spi.sqlExcepitonHelper 参数个数无效 以及上述蓝色标识的类名
通过debug,发现了语法中count()缺少 * 号导致的参数异常(通过比较老的框架)
ExportAssertDaoImpl.java类调用的方法出现的问题
深入底层就是公司内部的框架frm-3.0.0
重点是这三句话(但是老版本的写法和当前版本的写法并没有区别啊)
这个时候我就在想是否可能是sql解析版本不一样导致的,果真如此
JSQLParser 解析 3.x.x
只需要上面的三条语句就可以实现了
但是 JSQLParser 解析 4.x.x 却没有那么简单(发生翻天覆地的变化)
最终我选择替换的方式来解决,因为考虑最后的结果和就是少个 * ,替换是最简单也是最有效的(不过需要注意转义哦!)
以上是关于SqlExceptionHelper 142: ORA-00909: 参数个数无效的主要内容,如果未能解决你的问题,请参考以下文章
@Column(unique = true) 产生一个 WARN o.h.engine.jdbc.spi.SqlExceptionHelper:SQL 警告代码:0,SQLState:00000
[Lintcode]142. O Check Power of 2
golang 在下载依赖包的时候出现错误:dial tcp 142.251.42.241:443: i/o timeout
golang 在下载依赖包的时候出现错误:dial tcp 142.251.42.241:443: i/o timeout
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 无效的参数索引 2