AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Sqlite nicht in eine Datei, sondern in einen TStream

Sqlite nicht in eine Datei, sondern in einen TStream

Offene Frage von "p80286"
Ein Thema von Der schöne Günther · begonnen am 26. Jun 2019 · letzter Beitrag vom 30. Jun 2019
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 26. Jun 2019, 09:22
Datenbank: Sqlite • Version: 3 • Zugriff über: FireDAC
Ich habe Daten die in eine Sqlite-Datenbank exportiert werden sollen. Das kann etwas groß werden, durch ZIP-Kompression bekommt man die Datei typischerweise auf 1/20 oder weniger.

Ich möchte vermeiden eine Sqlite-Datei in einem Temp-Verzeichnis anzulegen, das dann zu zippen und dann die Sqlite-Datei zu löschen.

Ich sehe dass in Delphi Sqlite schon einmal komplett im Hauptspeicher sein kann (@DocWiki), das sind ja schon einmal sehr gute Voraussetzungen.

Jetzt hänge ich daran wie ich das in einen Memory-Stream bekomme um es zu zippen.


Bonus: Sqlite scheint auch direkt ZIP-Unterstützung an Bord zu haben (Quelle: Sqlite.org), aber in FireDAC habe ich da nichts dergleichen gesehen dass das abbildet.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 26. Jun 2019, 12:18
Ich glaube nicht dass du eine Datenbank die sich aktiv im Arbeitsspeicher befindet und auf der (potenziell) gearbeitet wird zippen kannst/solltest.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 26. Jun 2019, 13:56
Es ist Sqlite, kein Client/Server-System im Netzwerk. Da tut meine Anwendung einmal Daten rein und macht danach zu.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 26. Jun 2019, 22:23
Könntest du bitte näher erklären was Du vor hast?
Wie Neutral General schon schreibt, von einer DB auf die Dein Programm zugreift, solltest Du die ZIP-Finger lassen.
Sobald Du die DB-Aktivitäten abgeschlossen hast, ist/sind die Datei(en) Dateien wie alle anderen auch. Die kannst Du dann Zippen wie Du lustig bist.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 26. Jun 2019, 22:39
SQLite kann scheinbar selbst keine komprimierung, aber es gibt extensions:

http://www.hwaci.com/sw/sqlite/prosupport.html

Ich würde aber evtl. eine anderes DBMS nutzen/suchen/verwenden, welche die gewünschten Funktionen "out of the box" bietet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 27. Jun 2019, 11:59
Ich habe Daten die in eine Sqlite-Datenbank exportiert werden sollen. Das kann etwas groß werden, durch ZIP-Kompression bekommt man die Datei typischerweise auf 1/20 oder weniger.

Ich möchte vermeiden eine Sqlite-Datei in einem Temp-Verzeichnis anzulegen, das dann zu zippen und dann die Sqlite-Datei zu löschen.
Wieso nicht? Was ist das Problem damit? An der Grösse kann es ja nicht liegen. Auf der HD da hast du ja viel mehr Speicherplatz als im Memory.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 30. Jun 2019, 13:57
OK es ist warm... Also nicht in meinen Büro, da ist ne Klimaanlage... Aber trotzdem hab ich das jetzt 5x gelesen und immer noch nicht verstanden...

Ich habe Daten die in einer Sqlite-Datenbank exportiert werden sollen.
In <> exportiert...

Möchtest Du Dateien in eine SQLite Datenbank-importieren oder Daten aus eine SQLite-Datenbank exportieren?


Ich möchte vermeiden eine Sqlite-Datei in einem Temp-Verzeichnis anzulegen, das dann zu zippen und dann die Sqlite-Datei zu löschen.
Also doch SQLite->ZIP aber warum dann SQLite-DB löschen? Womit willst Du den arbeiten?

Da tut meine Anwendung einmal Daten rein und macht danach zu.
OK - und was soll dann der Zip? Willst Du die Daten gezippt irgendwo hin übertragen?

Grüsse

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Sqlite nicht in eine Datei, sondern in einen TStream

  Alt 30. Jun 2019, 21:23
Es ist Sqlite, kein Client/Server-System im Netzwerk. Da tut meine Anwendung einmal Daten rein und macht danach zu.
Also Du hast irgendwelche Daten, die Du in eine SQLite-DB geschrieben hast. Diese Daten (SQL-DB) willst Du jemandem zukommen lassen. Dann zip sie und verschick die Zip-Datei.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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