Spring 5.0.1 namedJdbcTemplate batchUpdate ORA-01000:超出最大打开游标数

时间:2017-10-31 20:29:27

标签: java spring spring-jdbc ora-01000

我最近将我的项目从Spring Framework 4.3.10升级到5.0.1。 升级后,namedParameterJdbcTemplate.batchUpdate开始失败并显示此错误

  

ORA-01000:超出最大打开游标。

批量更新250条记录时间没有改变,并且在Spring 4.3.x中运行正常。

有没有人遇到过与Spring 5.0.1类似的问题?

我没有看到Spring文档中与batchUpdate的使用有关的任何更改。

任何线索或是否是jire问题的候选人。

我已经将spring-jdbc单独回滚到版本4.3.10,解决了这个问题。 我还提出了一个Jira回归缺陷https://jira.spring.io/browse/SPR-16139

2 个答案:

答案 0 :(得分:0)

通过Spring JIRA票证交换信息后,解决了以下问题:

  1. 升级到最新的Oracle JDBC驱动程序12.2.0.1(ojdbc8.jar)
  2. 使用条目spring.jdbc.getParameterType.ignore=true
  3. 创建spring.properties文件

    Oracle驱动程序升级解决了游标泄漏问题。 spring.properties文件解决了spring-jdbc 5.0.1版的性能问题。

    我希望spring-jdbc 5.0.2中会有一些更改,无需创建自定义spring.properties文件即可解决问题。

    感谢Spring团队的Juergen Hoeller解决了这个问题。

答案 1 :(得分:0)

是的,该问题已在Spring 5.0.2中解决:

https://github.com/spring-projects/spring-framework/issues/20687