![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: FIBPlus
FB embedded, DB-Fehler bei Programm-Absturz ?
Hallo #,
ihr arbeitet bestimmt auch so wie ich ... ) Stelle ich bein Debuggen einen Fehler fest -> Strg+F2, Programm abschiessen, Fehler beheben, weiter debuggen Jetzt hatte ich ein paar Fehler in der DB, war schnell erledigt, aber 30min Arbeit und Fragen ... Ich schiesse ich ein Programm mit dem embedded Server ab (oder es kann ja mal abstürzen). Was passiert mit der DB und den noch nicht gespeicherten Daten ? Kann es zu DB-Fehlern (richtige, z.B. page errors) kommen, weil ja die DLL im Prozess der Exe ausgeführt wird (?) Wenn ja, wie verhindere ich das ? Danke Heiko |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Hm, gute Frage. Ich habe mein FB-Embedded auch mal abgeschossen, wenn beim Debuggen etwas nicht stimmte. Aber, dass da was kaputt gegangen ist, wüsste ich nicht. Bei normalen Programmfehlern bzw. SQL-Fehlern wurde dann halt diese Anweisung nicht übernommen, da könntest Du ggf. mit Transaktionen arbeiten, falls Du mehrere Sachen hintereinander ausführen möchtest.
Ich verwende allerdings Test-Datenbanken zum Debuggen bzw. Kopien einer Produktivdatenbank, sicher ist sicher ;) |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Hallo,
mit den "Daten-Verlusten" ist schon klar. Ich hatte aber richtige DB-Fehler, die zum Glück per gfix/gbak behoben wurden. Heiko |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Hallo Heiko,
mir ist es mit der Firebird embedded auch so gegangen, d.h. ich hatte komplett zerlegte Datenbanken. Die konnte ich auch mit GBak, usw. nicht wieder auf Vordermann bringen. Ich vermutete lange, dass der Benutzer hier einfach den Stecker gezogen hat, was bei meiner Anwendung, welche auf Industriemaschinen läuft, durchaus vorkommen kann. Hat hier jemand ähnliche Erfahrungen gemacht? Wie kann man dem beikommen? Gruß, Hans. |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Also wenn man mitten in einer Transaktion den Stecker zieht, muss man da ggf. schon mit Reparatur-Tools ran. Da würde nur ein regelmäßiges Backup helfen, anders geht es meiner Ansicht nach auch nicht.
Entweder ereignisgesteuert, z.B. beim Programmstart oder zeitgesteuert, z.B. nach 2 Stunden. Bei der embedded Version müsste man ja einfach mittels CopyFile die Datenbank-Datei irgendwohin kopieren, das sollte kein großer Aufwand sein. Viele Grüße |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Hallo,
Stecker-Ziehen: in diesem Fall hilft in der Tat nichts. Ausser: normalen FB-Server nehmen und auf andere Maschine packen. Ich meine aber den normalen Programm-Absturz, was ein böser User z.B. über den Task-Manager machen kann. FB Embed. als DLL kann in diesem Fall doch gar nicht machen (?) Heiko |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Das ist ein Problem der Dll, da sie im Kontext einer normalen Anwendung läuft, kann man den Abbruch der Anwendung und damit den Abbruch eines Schreibzugriff nicht verhindern
|
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Hallo,
schon klar. Das meinte ich aber nicht. Ich meinte, was ist, wenn FB gerade irgendwas wichtiges in der DB macht und dabei abgeschossen wird. Bei mir hatte das zu DB-Fehlern (page error) geführt. D.h. doch, FB Embedded kann zu Datenverluste (aufgrund DB-Fehlern) führen ? Noch mal: Das nicht committete Daten weg sind, meine ch nicht, das ist ja klar. Heiko |
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
Wir meinen das Selbe. Da die Dll als Teil der Exe in dessen Kontext ausgefüht wird, kann es apssieren, das bei aktiven Schreibzugriffen auf die Datenbankdatei bei Killen der Anwendung die Datei beschädigt wird.
|
Re: FB embedded, DB-Fehler bei Programm-Absturz ?
GENAU !!!
Was mir passiert ist. Sonst läuft FB ja hier als Dienst, da passiert das nicht (wenn Exe abgeschossen wird). #closed# Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz