首页 > 数据库技术 > 详细

JdbcPagingItemReader:Missing IN or OUT parameter

时间:2019-09-17 21:36:08      阅读:88      评论:0      收藏:0      [点我收藏+]
SPRING BATCH用JdbcPagingItemReader 与OraclePagingQueryProvider读取数据库的数据,当SELECT脚本无数据返回时报错:
2019-08-23 18:05:53.803 ERROR 6542 --- [ scheduling-1] o.s.batch.core.step.AbstractStep : Encountered an error executing step orderStep1 in job processJob

org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT * FROM (SELECT the_date,。。。 FROM 。。。 WHERE 。。。 ORDER BY the_date ASC) WHERE ROWNUM <= 20 AND ((the_date > ?
))]; SQL state [99999]; error code [17041]; Missing IN or OUT parameter at index:: 1; nested exception is java.sql.SQLException: Missing IN or OUT parameter at index:
: 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89) ~[spring-jdbc-5.1.2.RELEA
SE.jar:5.1.2.RELEASE]

原因:不管select结果有没有数据,脚本都会自动拼接上排序字段(框架有要求sortKeys必须有),不知道算不算框架的bug。

解决方法:
插一条为负一的记录,保证都有值 或者调成单线程也没问题

调成单线程,即下图中全部调成1
技术分享图片

JdbcPagingItemReader:Missing IN or OUT parameter

原文:https://blog.51cto.com/9784292/2438461

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!