Re: Cannot commit when autoCommit is enabled error

From: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Gurkan Ozfidan *EXTERN*" <gurkan(at)timeforgedev(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Cannot commit when autoCommit is enabled error
Date: 2013-09-18 07:41:40
Message-ID: A737B7A37273E048B164557ADEF4A58B17C21D72@ntex2010a.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Kevin Grittner 2013-09-18 09:02:59 Re: upgrade from 9.2.x to 9.3 causes significant performance degradation
Previous Message Albe Laurenz 2013-09-18 07:32:11 Re: Something Weird Going on with VACUUM ANALYZE