Confusion regarding autocommit

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Confusion regarding autocommit

siddharth yanamandra
Hi

We have an application which used the jdbc 8.2-504 version. We have recently tried to update it to 42.2.5 jre 7 version. During this update we faced the issue "could not commit when autocommit is enabled" error so we have decided to assign false to autocommit during connection initiation. Now many of the SQL statements we use are select statements and we have read from many sources that even select statements should be committed to clear locks on tables. Is this necessary or is it ok to just close the connection after the operations are done(for select statements only). 

Thanks in advance


Reply | Threaded
Open this post in threaded view
|

Re: Confusion regarding autocommit

Mark Rotteveel
On 10-4-2019 11:09, siddharth yanamandra wrote:

> Hi
>
> We have an application which used the jdbc 8.2-504 version. We have
> recently tried to update it to 42.2.5 jre 7 version. During this update
> we faced the issue "could not commit when autocommit is enabled" error
> so we have decided to assign false to autocommit during connection
> initiation. Now many of the SQL statements we use are select statements
> and we have read from many sources that even select statements should be
> committed to clear locks on tables. Is this necessary or is it ok to
> just close the connection after the operations are done(for select
> statements only).

The point of auto-commit mode is that this happens automatically. You
should not call commit() or rollback() when using auto-commit. If you
want to explicitly call commit or rollback, then you should disable
auto-commit using setAutoCommit(false).

Mark
--
Mark Rotteveel