我刚从 classes12.jar 升级到新的 jdbc 驱动程序到 ojdbc7.jar
我的应用程序在使用 ojdbc7.jar 运行时抛出异常:
java.sql.SQLException: Could not commit with auto-commit set on
at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:4443)
at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:4490)
at oracle.jdbc.driver.T4CConnection.doSetAutoCommit(T4CConnection.java:943)
at oracle.jdbc.driver.PhysicalConnection.setAutoCommit(PhysicalConnection.java:4
我的应用程序仍然可以使用 classes12.jar 正常运行。
我研究了甲骨文:
对于以下任何一种情况,都会引发此异常:
- 当自动提交状态设置为 true 并调用提交或回滚方法时
- 当auto-commit的默认状态不变,调用commit或rollback方法时
- 当 COMMIT_ON_ACCEPT_CHANGES 属性的值为 true 并且在对行集调用 acceptChanges 方法后调用提交或回滚方法时
但我在我的来源中找不到错误。请帮助我对此错误进行更多解释。
原文由 scarework 发布,翻译遵循 CC BY-SA 4.0 许可协议
最新的 OJDBC 驱动程序比它们所在的地方更兼容。您可以为遗留代码关闭此行为:
这是一个 JVM 选项。