Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   MySQL Transaction kein Rolback bei Abbruch (https://www.delphipraxis.net/214357-mysql-transaction-kein-rolback-bei-abbruch.html)

Kostas 1. Jan 2024 13:51

Datenbank: MySQL • Version: 5.7 • Zugriff über: FireDac

MySQL Transaction kein Rolback bei Abbruch
 
Hallo Zusammen,

ich bin Firebird geschädigt im positiven Sinne und hab so meine Probleme mit MySQL. :-)

Aktuelle habe ich auf ein DataModul eine Firedac Connection und eine separate FDTransaction.
Der FDTransaction habe ich unter Options AutoCommit deaktiviert und bei DisconnectAction=xdRollback gesetzt.
Dann habe ich ein FDCommand welches auf die Connection und auf die zweite Transcation ohne AutoCommit hängt.
Ich starte die zweite tr2.StartTransaction füge zwei Datensätze hinzu und breche den DebugMode ab. Ich hätte jetzt erwartet dass die Inserts durch ein Rollback gelöscht werden. Genau das passiert nicht. Dann habe ich alle Datensätze inserten lassen und habe absichtlich tr2.Rollback; ausgeführt. Wird auch nicht ausgeführt.

Dann ist mir aufgefallen, wenn ich AutoCommit auf der ersten Transaction tr1 deaktiviere wird auf der zweiten Transaction tr2 AutoCommit ebenfalls deaktiviert.

Wenn ich die Doku für Transaction richtig verstanden habe, unterstützt Firebird zwei FDTransaction mit unterschiedlichen Einstellungen und MySQL eben nicht. Wenn Autocommit deaktiviert ist und ich rufe Rollback auf, müssen doch alle Änderungen rückgängig gemacht werden. Was übersehe ich hier?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz