Meine App arbeitet mit MySQL-Datenbank, zur Verbindung verwende ich FireDAC-Komponenten. Das letzte Mal, wenn ich ein Netzwerkproblem habe, teste ich es und es sieht so aus (wie immer) es verliert 4 Ping-Anfrage. Meine App gibt mir einen Fehler zurück: "[FireDAC] [Phys] [MySQL] Die Verbindung zum MySQL Server wurde während der Abfrage verloren". Jetzt die Frage: Einstellung fdconnection.TFDUpdateOptions.LockWait auf wahr (Standard ist falsch) wird mein Problem lösen oder neue Probleme machen?Delphi + Firedac und Netzwerkverbindung Fehler
Antwort
TFDUpdateOptions.LockWait
hat keinen Einfluss auf Ihre Verbindung zur Datenbank. Es bestimmt, was passiert, wenn eine Datensatzsperre nicht sofort erreicht werden kann. Die documentation sagt, es ist ziemlich klar:
Use the LockWait property to control whether FireDAC should wait while the pessimistic lock is acquired (True), or return the error immediately (False) if the record is already locked. The default value is False.
The LockWait property is used only if LockMode = lmPessimistic.
FireDAC kann nicht eine Sperre warten, wenn es um die Verbindung verliert, so klar gibt es keine Möglichkeit, das Schloss zu entweder anfordern oder festzustellen, ob sie gewonnen wurde. Wenn Sie also LockWait
ändern, wird das Problem mit der verlorenen Verbindung nicht geändert, und viele andere Vorgänge können mit den Daten verlangsamt werden.
Die einzige Lösung für Ihre verlorenen Ping-Anfragen besteht darin, Ihre Netzwerkverbindung zu reparieren, damit sie keine Pakete mehr löscht. Einfaches Ändern von Optionen auf TFDConnection
wird Netzwerkprobleme nicht beheben.
- 1. Delphi Firedac - Case Sensitive Problem
- 2. Delphi Firedac TFDtable offene Ausgabe
- 3. Delphi Firedac Master Details mehrere
- 4. Delphi Firedac MSSQL auf andere Server kopieren
- 5. Delphi und Firedac: Abfrage Active vs Abfrage Öffnen
- 6. FireDAC ApplyUpdates und Transaktionssteuerung
- 7. Wie kann ich abfragen Anzahl von Dateien mit Delphi firedac
- 8. Wie funktioniert die Arbeit mit TFDTable (FireDAC) in Delphi XE7?
- 9. FireDAC nicht
- 10. FireDAC TFDScript Fehler eine nicht vorhandene Tabelle löschen versuchen
- 11. Firedac multiparametrische Abfrage mit Makro
- 12. Delphi TPrinter und Fehler 217
- 13. howdoi Fehler beim Herstellen einer Netzwerkverbindung howdoi
- 14. j2me Netzwerkverbindung
- 15. Anwendungsladeprogramm wartet und die Netzwerkverbindung wurde unterbrochen
- 16. Wie verwende ich SQL Server Table-Datentyp in Delphi mit FireDAC?
- 17. Netzwerkverbindung mit UWP Apps
- 18. Der schnellste Weg zum Laden einer Array-DML in Delphi FireDAC
- 19. Abfrage mit FireDac bringt einige "asiatische" Zeichen ... warum?
- 20. Delphi Eigenschaft Stackoverflow Fehler
- 21. Delphi Fehler ListBox
- 22. Delphi TRegEx Fehler?
- 23. 10 Warten auf Netzwerkverbindung
- 24. Java Applet Netzwerkverbindung
- 25. Firedac wählen mit Firebird kehrt Arbeits keine Aufzeichnungen
- 26. Fehler bei der Verwendung eines Parameters mit dem Skript anydac (jetzt firedac) für Firebird erhalten
- 27. Fehler Domain = NSURLErrorDomain-Code = -1005 „Die Netzwerkverbindung verloren wurde
- 28. PFD_MAIN_PLANE und Delphi FMX
- 29. Wie bekomme ich FireDAC Record Count, wenn SetRange aktiv ist
- 30. Delphi Fehler: I/O Fehler 998
Ich überrasche dich - es hat funktioniert. Jetzt, wenn die Verbindung wieder hergestellt ist, ist die Anwendung nicht mehr "hängen" –