Subject RE: [firebird-support] Re: Firebird on Windows
Author Alan McDonald
> I don't know if the transaction type you mean is the same as the
> transaction isolation level I can set in java.
> I use the default one that is "transaction read committed".
>
> By default a Connection object is in auto-commit mode, which means
> that it automatically commits changes after executing each statement.
> If auto-commit mode has been disabled, the method commit must be
> called explicitly in order to commit changes; otherwise, database
> changes will not be saved.
>
> I set autocommit off and I make a explicit commit after about 1000
> inserts with connection.commit()-method.
>

you made me look back on some old source I had - you're quite right,
connection.SetAutoCommit(False);
then you use
connection.commit();
That's what should work fine for me but I never used this for mass inserts.
Maybe the java group is better to answer this than me.
I have a sneeky suspicion that this type of connection.commit() is still a
commitretaining in the transaction context and not a hard commit and that
what you need to do is use explicit transactions so that you are using
transaction.commit() and not connection.commit(). I might be wrong.
Alan