Lösung z.Z. AdoConnection auf Connected=False setzen, ConnectionsString leeren, neu Befüllen und neu Verbinden, dann geht wieder alles.
Wieso mußt du den Connectionstring neu zuweisen? Hat sich denn in der Zwischenzeit an den Verbindungsdaten etwas geändert?
Das muss man machen, sonst baut er die Verbindung komplett nicht neu auf
Das ist leider schlecht da viele DataSets offen sind und ich eigentlich dem AdoConnection sagen will, das er sich erneut verbinden soll, ohne die anderen DataSet zu schließen
Was ist daran schlecht? Machst du das beim Programmstart nicht ebenfalls? Die Frage bezieht sich darauf, daß ich immer wieder beobachte, wie Programmierer ihrer Anwendungen mit aktiver Datenbankverbindung kompilieren oder die Datenbankverbindung aktiv ist, wenn sie Delphi schließen. Das ist keine gute Idee, denn erstens ist nicht immer garantiert, daß der Datenbankserver und/oder die jeweilige Datenbank erreichbar ist, was zu Fehlermeldungen bereits beim Start der
IDE führen kann. Und zweitens ist das kein guter Programmierstil, finde ich, weil das zu unerwartetem Verhalten führen kann.
Der Kunde bekommt ja mit das das Verhalten des Programms ein Problem hat. Da alle Systeme mit SSD ausgerüstet sind währe die Anwendung in 10 sec wieder einsatzbereit, das wird aber vom Kunden nicht toleriert, diese muss ohne Bug 100% am Tag laufen!
Wir reden hier nicht von emba Qualität ......
Nun scheint sich ein Hardwareproblem herauszustellen, heute wieder ein Crash nach 5 Stunden Dauereinsatz, hier haben sich meine
SQL Anweisungen "von alleine" verändert, die in den Komponenten hinterlegt sind (mitten im
SQL Statement sind einzelne Buchstaben verändert). Ich gehe nun von einem Hardwareproblem aus und tausche diese aus.
Trotzdem währe ich an einer Lösung zum Verbindungsproblem interessiert, jeder der z.B. per WLan sonst Mobil arbeitet ist davon betroffen .......