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: 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 1.【Python】标识符 ( Python 标识符命名规则 - 强制性 | 内容限定 | 大小写敏感 | 非关键字 | Python 标识符命名规范 - 建议性 | 下划线命名法 | 英文字母全小写 ) 2.vue尚品汇商城项目-day03【18.合并params和query参数(Header组件+TypeNav组件)】 3.【TreeSet】| 深度剥析Java SE 源码合集Ⅳ 4.macOS 13.3.1 (22E261)黑苹果恢复版镜像 5.【Android 应用开发】Android 无障碍开发简介 ( Android 无障碍开发辅助技术 | 启用 TalkBack 无障碍功能 | TalkBack 无障碍开发 示例 )