Я пытаюсь вызвать ХПНевозможно прочитать REF_CURSOR с StoredProcedureItemReader
create or replace PROCEDURE "PROC"(cur OUT SYS_REFCURSOR)
с этим компонентом.
@Bean
StoredProcedureItemReader<?> itemReader() {
StoredProcedureItemReader<?> storedProcedureItemReader = new StoredProcedureItemReader<>();
storedProcedureItemReader.setDataSource(dataSource);
storedProcedureItemReader.setProcedureName("PROC");
storedProcedureItemReader.setRefCursorPosition(1);
storedProcedureItemReader.setRowMapper(new ColumnMapRowMapper());
storedProcedureItemReader.open(new ExecutionContext());
return storedProcedureItemReader;
}
Но я получаю
org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open(AbstractItemCountingItemStreamItemReader.java:134)
... 54 more
Caused by: java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameterInternal(OracleCallableStatement.java:125)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:304)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:393)
at oracle.jdbc.driver.OracleCallableStatementWrapper.registerOutParameter(OracleCallableStatementWrapper.java:1569)
at org.springframework.batch.item.database.StoredProcedureItemReader.openCursor(StoredProcedureItemReader.java:202)
... 56 more
Как я могу назвать PROC с только один из курсора и получить итерацию результат?
Обновите свой ответ более подробно, только ответ на код не так полезен + потратить некоторое время на форматирование –