Page 1 of 1

DB-Transactions bei JVx/VisionX

PostPosted: Thu Jul 28, 2011 11:41 am
by jsmw
Ich habe nichts zu Transactions - Schreiben in zwei oder mehrere Tabellen -> Durchführung nur wenn alle erfolgreich oder rollback - gefunden.
Gibt es dafür ein Implementierung oder ist es vorgesehen?

Re: DB-Transactions bei JVx/VisionX

PostPosted: Thu Jul 28, 2011 12:19 pm
by Support@SIB
Transaktionen sind im Moment nicht speziell integriert, ist aber mit wenigen Handgriffen machbar. Von DBAccess wird bereits commit() und rollback() angeboten, allerdings fehlt setAutoCommit(boolean).

Daher müssen Sie zuerst - autocommit - der Connection deaktivieren:
Code: Select all
<DBAccess>.getConnection().setAutoCommit(false);

Um commit und rollback vom Client ausführen zu können, müssen am Server, am besten im Session Objekt, zwei Actions implementiert werden, die commit() und rollback() von DBAccess aufrufen.

Der Client muss natürlich dementsprechend mit Commit/Rollback Buttons versehen werden.

Sie können AutoCommit pro MasterConnection (sprich für jeden Login) oder pro SubConnection (für einzelne Screens) deaktivieren. Wenn Sie pro SubConnection arbeiten, dann ist jedoch auch ein eigenes DBAccess Objekt nötig.


Die Integration in JVx würde commit/rollback automatisch über die RemoteDataSource anbieten, doch dafür gibt es im Moment noch keine detailierten Informationen.