Re: Cannot commit when autoCommit is enabled error - Mailing list pgsql-general

From Albe Laurenz
Subject Re: Cannot commit when autoCommit is enabled error
Date
Msg-id A737B7A37273E048B164557ADEF4A58B17C21D72@ntex2010a.host.magwien.gv.at
Whole thread Raw
In response to Cannot commit when autoCommit is enabled error  (Gurkan Ozfidan <gurkan@timeforgedev.com>)
List pgsql-general
Gurkan Ozfidan wrote:
> We have been using postgresql-jdbc-8.3-604, and recently we started using postgresql-jdbc-9.2,
> everything seems working fine, except we are getting this error and could not find the solution yet.
> This related to our reporting and I could say that it is not happening every report we run. If you
> could help, I really appreciated.
> 
> Below is the part of the code and error that we are getting. Thanks.
> 
> 
> ERROR:
> ERROR in createReportTable(): Cannot commit when autoCommit is enabled.
> org.postgresql.util.PSQLException: Cannot commit when autoCommit is enabled.
>         at org.postgresql.jdbc2.AbstractJdbc2Connection.commit(AbstractJdbc2Connection.java:703)
>         at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
>         at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>         at
> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
>         at $Proxy0.commit(Unknown Source)
>         at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.hibernate.jdbc.BorrowedConnectionProxy.invoke(BorrowedConnectionProxy.java:40)
>         at $Proxy125.commit(Unknown Source)
>         at
> com.resolution.scheduler.dao.hibernate.SalesPAFNewDaoHibernate.runStorageSQLQuery(SalesPAFNewDaoHibern
> ate.java:219)
>         at
> com.resolution.scheduler.service.impl.SalesPAFNewManagerImpl.runStorageSQLQuery(SalesPAFNewManagerImpl
> .java:151)
> 
> 
> 
> PART OF THE CODE:
> 
> 
> public Integer runStorageSQLQuery(String sqlQuery) throws Exception {
>         int results=0;
>         try {
>             java.sql.Connection conn = getSession().connection();
>             boolean acs = conn.getAutoCommit();
>             //System.out.println("...................AutoCommit status: "+acs);
>             conn.setAutoCommit(false);
>             java.sql.PreparedStatement st = conn.prepareStatement(sqlQuery);
>             results = st.executeUpdate();
>             conn.commit();
>             conn.setAutoCommit(acs);
>             st.close();
>         } catch (Exception e) {
>             System.err.println("ERROR in runStorageSQLQuery(): " + e.getMessage() + " sqlQuery:
> "+sqlQuery);
>             e.printStackTrace();
>         }
>         return new Integer(results);
>     }

If that used to work with the old driver, it might be a bug in JDBC.

Try asking on the pgsql-jdbc mailing list.

Yours,
Laurenz Albe

pgsql-general by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: Something Weird Going on with VACUUM ANALYZE
Next
From: Kevin Grittner
Date:
Subject: Re: upgrade from 9.2.x to 9.3 causes significant performance degradation