3

从 Spring 4.1.7 迁移到 Spring 5.0.5 后,我们有 ORA-01000: maximum open cursors exceeded when using Oracle 12c and ojdbc7 driver

以下代码后引发异常

@SuppressWarnings("unchecked")
private void executeBatch(Map<String, Object>[] updateBatchParams) {
 int[] updateResults = namedJdbcTemplate.batchUpdate(SQL, updateBatchParams);

该问题与https://jira.spring.io/browse/SPR-16139非常相似。

但是我们没有能力更新 ojdbc 驱动程序。

任何想法如何解决这个问题?

PS在 Spring jira 中创建了一个问题

4

1 回答 1

3

于尔根·霍勒:

最近没有这方面的工作。由于这实际上是 Oracle JDBC 驱动程序中的一个错误,因此恐怕我们此时不会为较旧的驱动程序引入解决方法。

您可以尝试在类路径根目录的 spring.properties 文件中将 spring.jdbc.getParameterType.ignore=true 设置为系统属性,或者暂时使用 spring-jdbc-4.3.17 ......与所有其他jars 设置为 5.0.6(官方不支持,但在实践中应该可以正常工作)。我强烈建议升级 JDBC 驱动程序。

于 2018-05-12T10:34:52.897 回答