AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FireDAC MySQL auto-commit

FireDAC MySQL auto-commit

Ein Thema von Hanzo · begonnen am 22. Okt 2017
Antwort Antwort
Hanzo

Registriert seit: 21. Dez 2013
3 Beiträge
 
#1

FireDAC MySQL auto-commit

  Alt 22. Okt 2017, 13:37
Datenbank: MySQL • Version: 5.6 • Zugriff über: FireDAC
Wer mit seiner Datenbankanwendung auf Delphi 10.2.1 migriert und den aktuellen Connector 6.1.11 von MySQL verwendet, sollte hier mal weiterlesen.
Wenn in TxOptions "AutoCommit" aktiv ist und die Ausführung in einem StartTransaktione/Commit Block eingeschlossen wird, werden die Änderungen nicht in die Datenbank übertragen! "Böse Falle"!
Wenn AutoCommit deaktiviert wird, funktioniert die Transaktion wie erwartet. Ich habe unten mal ein Statement von Embarcadero drangehängt, was dem aktuellen Verhalten widerspricht.

Wer sich darauf verlässt, das der folgende Code die Änderung in die Datenbank schreibt, wird bei aktiviertem AutoCommit schwer enttäuscht.
Delphi-Quellcode:
FDConnection1.StartTransaction;
try
  FDQuery1.ExecSQL;
  ....
  FDQuery1.ExecSQL;
  FDConnection1.Commit;
except
  FDConnection1.Rollback;
  raise;
end;

Hier der Ausschnitt von Embarcadero zum Thema AutoCommit:
If the application called the StartTransaction method, then the automatic transaction management will be disabled until the corresponding Commit or Rollback method call. Generally, there is no need to set the AutoCommit property value to False, just use the explicit transaction control (StartTransaction, Commit, or Rollback) when you need it.

Über Euer Feedback bzw. Erfahrung würde ich mich freuen.
VG Hans

Geändert von Hanzo (22. Okt 2017 um 16:57 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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