Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbankdatei in Zip copieren (https://www.delphipraxis.net/205765-datenbankdatei-zip-copieren.html)

Andreas H 14. Okt 2020 08:10

Datenbank: sqlite • Version: 3.18 • Zugriff über: SQLConnection

Datenbankdatei in Zip copieren
 
Hallo,

bin Quereinsteiger als vorab.

Ich möchte meine Datenbank (sqlite), eine Datei, in ein Zip einzubinden.
Kopieren lässt sich die Datei nicht wohl solange die Datenbank verbunden ist,
das habe ich schon versucht. Der Debugger wirft mir dann ne Fehlermeldung raus.
Muss ich zwingend die Verbindung trennen zur Erstellung einer Dateicopie?
Der Totalcommander erstellt mir das Zip auch mit verbundener Datenbank

Danke für die Hilfe vorab

mkinzler 14. Okt 2020 08:21

AW: Datenbankdatei in Zip copieren
 
Es ist immer gefährlich eine Datenbankdatei im Zugriff zu Kopieren. Besser Backup erstellen

https://sqlite.org/backup.html

himitsu 14. Okt 2020 10:35

AW: Datenbankdatei in Zip copieren
 
Im Windows ist sowas bei einem ordentlichen DBMS kein Problem,
jedenfalls nicht, wenn man über den VolumeShadowService geht.
Ein gutes Programm registriert sich dort und reagiert auf die Snapshotanfragen, indem es die Dateien in einen konsistenten Zustand bringt. :angle2:

Ansonsten ja, die Backupfunktion des DBMS ist auch geeignet.
Wir nutzen hier die DUMP-Funktion der DB und jagen das Ergebnis direkt als Pipe ins 7-Zip rein.

Der schöne Günther 14. Okt 2020 10:40

AW: Datenbankdatei in Zip copieren
 
Tatsächlich bei Sqlite? Ich habe einen ähnlichen Fall, dass das Ergebnis einer Query als sqlite in eine ZIP-Datei soll.

Ich habe bei FireDAC nichts gefunden und schreibe die Records der Query in eine neue Sqlite-Datei. Diese wird dann in die ZIP-Datei gepackt und anschließend wieder gelöscht.

jobo 14. Okt 2020 20:49

AW: Datenbankdatei in Zip copieren
 
Es gibt bei SQLite eine SQL Funktion, die eine (andere) Datenbank attachen und detachen kann.
Ich weiß nicht genau, wie man das verwenden kann, wenn nur eine einzige DB verwendet wird. Aber in der Richtung würde ich mal schauen.
Klar dürfte sein, wenn man seine Kern Datei (DB) detached, können die normalen Programmfunktionen, die auf diese DB zugreifen, nicht verwendet werden. Das dürfte aber ja für einen "Moment" vertretbar sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 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