您好,登錄后才能下訂單哦!
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。