Batch Update problem

From: "Hadraba Petr" <hadrabap(at)bluetone(dot)cz>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Batch Update problem
Date: 2007-12-30 02:22:45
Message-ID: 371765080712291822wc20b67fvaa0a495c1051088c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello all!

I'm running into strange issues with JDBC Driver v 8.2 build 507. I'm
using the JDBC 3 driver.

My code looks like:

I have a global PreparedStatement pStmt that handles the UPDATE statement.

In for-cycle I'm doing the following:
- prepare values for the UPDATE
- call pStmt.clearParameters();
- call pStmt.setObject(paramOrderID, paramValue) for each value with
the right paramID and value
- call pStmt.addbatch();

After the for-cycle I'm calling the pStmt.executeBatch(); and pStmt.close();

Please note, no Exceptions are thrown — the SQL code is correct and no
primary key nor foreign key valoations are occuring.

With the downloaded version, no UPDATES are processed. In the same
transaction (before commit) all UPDATES are written, but after the
dbConnection.commin(); all changes are lost.
With my-own-compiled version (JDBC 3g, against Java SE 5) is all
working properly.

My JDBC initialization code looks like:
dbConnection.rollback();
dbConnection.setAutoCommit(false);

I don't want to use the AutoCommit "feature".

What I'm doing wrong?

I'm able to post full source code and more info.

Please note, that all is working properly with my own JDBC v 3g
version. It's strange.

Thank you for your help.

Sincerely

PETR

P.S.: I investigated the source code and I didn't find any difference
in PreparedStatement in versions v 3 vs. v 3g, unfortunetly. All the
implementations are extending the PreparedStatement from JDBC v 2 :-(

Thank you!

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Håkan Jacobsson 2008-01-02 15:15:22 Postgres and Jboss using two postgresql databases
Previous Message Christian Schröder 2007-12-29 09:33:39 Re: Missing fields in getColumns() result