Hi Dave,
thanks for the quick reply.
without executeBatch the whole JDBC driver is worthless, we don't need a discussion on that :-)
Without being able to get the generatedKeys from an Batch, it is impossible to insert into multiple tables
vendor-independently.
Mysql manages this without any problems.
This should be the way to go for the future.
I don't thing I have to tell the story of my ugly code:
if (MYSQL) doThePropperAPIStuff()
else if (POSTGRES) {
1. generate a bulk of future keys
2. pass out these future keys to all entries
}else if (ORACLE){
1. do more a less the same as in POSTGRES but with different Syntax
}
I don't think that sort of code was the intension of JDBC...
-------- Original-Nachricht --------
> Datum: Tue, 8 Mar 2011 09:27:44 -0500
> Von: Dave Cramer <pg@fastcrypt.com>
> An: hans wulf <lotu1@gmx.net>
> CC: pgsql-jdbc@postgresql.org
> Betreff: Re: PreparedStatement batch statement impossible
> Hans,
>
> It's certainly not clear that this is a requirement of the API. Even
> executeBatch is an optional requirement.
>
> Does anyone have any clear direction on how to handle this ? It would
> appear that even oracle's jdbc throws an error.
>
> Dave
>
> On Tue, Mar 8, 2011 at 9:17 AM, hans wulf <lotu1@gmx.net> wrote:
> > hi,
> >
> > the API says you can use getGeneratedKeys() after executing the
> statements. But executeBatch() fails...
> >
> > The driver has got a problem here:
> >
> > The normal way would be:
> >
> > 1. Create a PreparedStatement with the GET_GENERATED_KEYS flag
> > 2. executeBatch without Exception
> > 3. call getGeneratedKeys()
> >
> >
> > --
> > GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
> > gratis Handy-Flat! http://portal.gmx.net/de/go/dsl
> >
--
GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
gratis Handy-Flat! http://portal.gmx.net/de/go/dsl