Subject | Re: [Firebird-Java] DataExpress problem |
---|---|
Author | Mark Rotteveel |
Post date | 2016-10-15T09:50:51Z |
On 14-10-2016 17:07, hugo.larson@... [Firebird-Java] wrote:
2.2.11? To be clear, I'm not saying upgrading will fix your problem; I'm
just curious if something is preventing you from upgrading.
helpful to have the full stacktraces. The stacktraces you posted don't
include the exception cause, although that could also indicate that
DataExpress is pre-Java-1.4.
As you haven't included any details (eg code, how you create
connections, etc), it is very hard to come up with a scenario that could
explain the problem (or identify if Jaybird does something wrong).
However if you are using any of the data sources from
org.firebirdsql.pool or org.firebirdsql.jca, then I urge you to stop
using those. See also
http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.11/release_notes.html#important-changes-to-datasources
functions with them (which should be equally well for all). The default
is read committed (which maps to
isc_tpb_read_committed,isc_tpb_rec_version,isc_tpb_write,isc_tpb_wait).
Your errors - as far as I can tell - have nothing to do with the
transaction isolation.
connection, and another is started, or if a distributed transaction
manager tries to enlist a connection in a distributed transaction while
it is already participating in that transaction.
connection is in auto commit mode.
Mark
--
Mark Rotteveel
> We are still using the old JBuilder DataExpress library and haveIs there a reason why you're still using Jaybird 2.2.6 instead of
> encountered new exceptions.
> Platform is Java 1.7.0_55 and JayBird 2.2.6
2.2.11? To be clear, I'm not saying upgrading will fix your problem; I'm
just curious if something is preventing you from upgrading.
> I have built classes for connection pooling where i set theUnfortunately I don't know the DataExpress library, but it would be
> JDBConnection in the JBuilder DataBase object and also setting DataBase
> object i QueryResolver.
>
> Sporadically these exceptions are thrown:
>
> Any clue what is causing this?
helpful to have the full stacktraces. The stacktraces you posted don't
include the exception cause, although that could also indicate that
DataExpress is pre-Java-1.4.
As you haven't included any details (eg code, how you create
connections, etc), it is very hard to come up with a scenario that could
explain the problem (or identify if Jaybird does something wrong).
However if you are using any of the data sources from
org.firebirdsql.pool or org.firebirdsql.jca, then I urge you to stop
using those. See also
http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.11/release_notes.html#important-changes-to-datasources
> What is best transaction isolation is best to use with JayBird?Transaction isolation is dictated by your needs, not by how well Jaybird
functions with them (which should be equally well for all). The default
is read committed (which maps to
isc_tpb_read_committed,isc_tpb_rec_version,isc_tpb_write,isc_tpb_wait).
Your errors - as far as I can tell - have nothing to do with the
transaction isolation.
> Further i don't use any transactions when committing QueryDataSet changes.What do you mean with that?
>This error can happen if a local transaction is in progress for a
>
> See com.borland.dx.dataset.DataSetException error code: BASE+66
> com.borland.dx.dataset.DataSetException: Resource Exception. A
> transaction with the same XID has already been started, error code: HY000
> Reason: A transaction with the same XID has already been started
> at com.borland.dx.sql.dataset.Database. (Unknown Source)
> at com.borland.dx.sql.dataset.j.prepare(Unknown Source)
> at com.borland.dx.sql.dataset.t.a(Unknown Source)
> at com.borland.dx.sql.dataset.l.b(Unknown Source)
> at com.borland.dx.sql.dataset.QueryResolver.insertRow(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.c(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.d(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager. (Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source)
> at com.borland.dx.sql.dataset.Database.saveChanges(Database.class)
connection, and another is started, or if a distributed transaction
manager tries to enlist a connection in a distributed transaction while
it is already participating in that transaction.
> com.borland.dx.dataset.DataSetException: Calling commit() in auto-commitThis can happen if commit is called on the connection while the
> mode is not allowed.
> at com.borland.dx.sql.dataset.Database.commit(Unknown Source)
> at com.borland.dx.sql.dataset.SQLResolutionManager.commit(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source)
> at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source)
> at com.borland.dx.sql.dataset.Database.saveChanges(Database.class)
> at com.borland.dx.sql.dataset.QueryDataSet.saveChanges(QueryDataSet.class)
> at advit.web.dxweb.MyQueryDataSet.saveChanges(MyQueryDataSet.java:213)
> at com.borland.dx.dataset.DataSet.saveChanges(Unknown Source)
connection is in auto commit mode.
Mark
--
Mark Rotteveel