- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试调用存储过程
create or replace PROCEDURE "PROC"(cur OUT SYS_REFCURSOR)
用这个 bean 。
@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 并迭代结果?
最佳答案
我认为你需要为 out 参数 cur
添加一个参数给 reader。在打开 storedProcedureItemReader
之前尝试添加以下行:
storedProcedureItemReader.setParameters(new SqlParameter[] { new SqlParameter("cur", OracleTypes.CURSOR) });
关于java - 无法使用 StoredProcedureItemReader 读取 REF_CURSOR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247415/
我必须在 Spring Batch 作业中实现以下用例: 通过StoredProcedureItemReader读取提供程序列表 迭代列表并为步骤 1 中找到的每个提供程序(作为输入参数)调用另一个
我尝试调用存储过程 create or replace PROCEDURE "PROC"(cur OUT SYS_REFCURSOR) 用这个 bean 。 @Bean StoredProce
我的 SP 只有 4 个输出参数,没有输入参数,我的 StoredProcedureItemReader conf 看起来像这样 class="org.springframework.bat
在 Spring-batch 中,通常当我们使用任何 itemreader 时,它会在每次调用 read 方法时获取每一行,并且一旦等于提交间隔,它就会将数据发送到 writer。 我已经读到 Sto
我收到非法状态异常。我尝试通过设置以下参数来解决它 etlReader.setSaveState(false); etlReader.setUseSharedExtendedConnection(fa
我是一名优秀的程序员,十分优秀!