Hallo,
ich verzweifle gerade etwas mit den Transaktionen unter den Zeos-Komponenten.
Ich verbinde mich mit diesen (ist die neueste Version) per Internet auf eine
MySQL 5 - Datenbank, deren Tabellen alle als InnoDB vorliegen.
Da ich nun einige Sachen die in Datenbank schreiben möchte und drauf achten muss, dass entweder alles oder nichts rein kommt, möchte ich Transaktionen benutzen.
Delphi-Quellcode:
FConnection := TZConnection.Create(
nil);
with FConnection
do
begin
HostName := '
Host';
User := '
User';
Password := '
Pw';
Protocol := '
mysql-5';
Database := '
db';
AutoCommit := false;
SQLHourGlass := true;
Connect;
end;
(Vorab: Schalte ich AutoCommit auf true, funktioniert alles, aber bei einem Fehler sind auch "halbe" Daten eingetragen, was nicht sein soll.)
Sobald ich nun per
FConnection.StartTransaction;
eine Transaktion starten möchte, bekomme ich sofort "Invalid operation in non AutoCommit mode" angezeigt. Das passiert direkt, ohne davor jemals eine Abfrage oder Transaktion gemacht zu haben.
Was könnte ich vergessen haben, einzustellen?