I just upgrade to new jdbc driver from classes12.jar to ojdbc7.jar
My app threw an exception when was running with 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
My app still run normally with classes12.jar.
I researched on oracle:
This exception is raised for any one of the following cases:
But i couldn't find mistake in my source. Please help me give more explaination about this error.
Turn off the auto commit option in SqlDeveloper. Go to Tools -> Preferences -> Database -> ObjectViewer Parameters and uncheck the box Set Auto Commit On.
By default, JDBC uses an operation mode called auto-commit. This means that every update to the database is immediately made permanent. Any situation where a logical unit of work requires more than one update to the database cannot be done safely in auto-commit mode.
Oracle SQL DELETE and SQL INSERT Statements do not auto commit (patch issue)
The latest OJDBC drivers are more compliant then they where. You can turn off this behavior for legacy code:
-Doracle.jdbc.autoCommitSpecCompliant=false
It's a JVM option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With