![]() |
ADO-Stress ... Datenbank zur Laufzeit austauschen
Hi Leute ich bräuchte (mal wieder :oops:) eure Hilfe:
Konkret geht es darum dass mein Prog via ADO auf eine Access-DB zugreift. Ich habe auch eine kleine "Backup-Schaltung" integriert die die Datenbank zur Laufzeit kopiert, danach komprimiert und repariert und dann in ein Zip-Archiv speichert. Das haut auch alles soweit ganz ordentlich hin. Nur kann ich auf diese Weise erstellte Backups nicht wieder einspielen. Ich kann sie zwar (unter einem anderen Namen) ins Programmverz. entpacken, nur schaffe ich es nicht die akutell laufende DB zu löschen (wegen dem von Access erzeugten *.ldb-File). Ich habe festgestllt das diese Ldb-Datei zwar verschwindet wenn ich mein Prog beende, aber nicht wenn ich zur Laufzeit nur die ADO-Connection deaktiviere. Was muss ich machen, damit ich die laufende DB löschen kann und meine Backup-DB verwenden kann? |
Re: ADO-Stress ... Datenbank zur Laufzeit austauschen
hi
vielleicht ne dumme idee, aber hast du schon mal versucht dein backup zu öffnen und danach erst die vorher verwendete db zu löschen ? die müsste dann nämlich wieder ohne lock sein ( so ist es jedenfalls bei meiner application ) fgret :gruebel: |
Re: ADO-Stress ... Datenbank zur Laufzeit austauschen
Versteh ehrlich gesagt nicht genau wie du das meinst?
Also mein Prog läuft so ab... 1. Präsentiere OpenDLg für Auswahl einer Zip-Datei die die gepackte *.mdb enthält. 2. Extrahiere die ausgewählte Zip-Datei ins Verz der Anwendung mit einem "Backup_" vorn am Orginalnamen dran. Bis hier gehts, danach sollte folgendes passieren. 3. Kill die laufende DB (irgendwie) und bennenn die "Backup_"*.mdb um auf den Orginalnamen. 4. Reaktiviere evtl. vorher geschloessene Connection. Mein Prob ist das wenn ich sag myConn.Connected:=false; sich das keinesfalls irgendwie auf die ldb-Datei auswirkt... Evtl liegts auch daran dass ich eine *.udl-Datei für die Verbindungseinstellungen verwende (ein Data-Link File)? [edit=Sharky]Doppelposting entfernt und in den Mülleimer geworfen. :-) Mfg, Sharky[/edit] |
Re: ADO-Stress ... Datenbank zur Laufzeit austauschen
Verwende anstatt
myConn.Connected:=false einfach myConn.close; Dann wird die Datenbank tatsächlich geschlossen und nich nur auf disconnected gesetzt. Wenn du nur Connected:= false nimmst, lässt Access das .ldb zum schnelleren aktivieren offen. grüße Karin |
Re: ADO-Stress ... Datenbank zur Laufzeit austauschen
Hey danke für den Tip!
Hat hingehauen.... Bin wie gesagt noch absoluter Delphi-Neuling und darum auf Hilfe angewiesen... Is mir eh schon peinlich dauernd zu fragen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 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-2025 by Thomas Breitkreuz