AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite Dump mit FireDAC
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite Dump mit FireDAC

Ein Thema von Mavarik · begonnen am 1. Mai 2017 · letzter Beitrag vom 2. Mai 2017
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von p80286
p80286

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

AW: SQLite Dump mit FireDAC

  Alt 2. Mai 2017, 12:03
OK... Vielleicht habe ich es falsch verstanden - wenn man nach SQLite Repair googled bekommt man immer als Antwort ein Repair gibt es nicht - was eigentlich schon der tot in meinen Augen ist, aber lassen wir das mal außer Acht
Bei Repair und Datenbank fällt mir immer nur DBase, Access und Clipper ein. Nicht umsonst werden die nicht unbedingt ernst genommen. Eine richtige Datenbank wird nicht repariert, da wird zb. ein Index neu erstellt, oder Sie wird aus ihrem Dump/Backup neu erstellt.
Falls es da wirklich zu "Bröselerscheinungen" kommen sollte, wäre es an der Zeit die Qualität der eingesetzten Hard und Software zu hinterfragen.
Von den og bin ich es gewohnt, daß sie über kurz oder lang Ausfallerscheinungen zeigen/zeigten. "Richtige DBMS" sind da durchaus zuverlässiger, Es sei denn sie befinden sich auf einer lokalen Festplatte, mit einem Benutzer vor der Tastatur, der immer noch ein Anhänger des BigRedKnob ist.

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

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

AW: SQLite Dump mit FireDAC

  Alt 2. Mai 2017, 13:30
Bei Repair und Datenbank fällt mir immer nur DBase, Access und Clipper ein. Nicht umsonst werden die nicht unbedingt ernst genommen. Eine richtige Datenbank wird nicht repariert, da wird zb. ein Index neu erstellt, oder Sie wird aus ihrem Dump/Backup neu erstellt.
Falls es da wirklich zu "Bröselerscheinungen" kommen sollte, wäre es an der Zeit die Qualität der eingesetzten Hard und Software zu hinterfragen.
Von den og bin ich es gewohnt, daß sie über kurz oder lang Ausfallerscheinungen zeigen/zeigten. "Richtige DBMS" sind da durchaus zuverlässiger, Es sei denn sie befinden sich auf einer lokalen Festplatte, mit einem Benutzer vor der Tastatur, der immer noch ein Anhänger des BigRedKnob ist.
In einer heilen Welt wo jeder User sich mit seinem PC, dem Netzwerk, dem NAS und dem Betriebssystem auskennt, sind Deine Aussagen alle richtig...

Jede Filebasierte Datenbank hat jedoch das Problem, das Zugriffe nicht richtig serialisiert werden können.

Welcher User macht schon Datensicherungen?

Wenn ich also mit meiner Wechselfestplatte immer zwischen zu Hause und meinen Büro pendele, kann es mal zu einen Lesefehler kommen... Wenn dann dadurch die ganze Datenbank nicht mehr erreichbar ist - ist das schlecht... Es soll - wenn überhaupt nur der Datensatz defekt sein, der auch in dem Sektor gespeichert wurde...

Bei einer Bin-Datei kann ich einfach durch seeken...

Delphi-Quellcode:
for i:=0 to Sizeof(Datei) div RecordSize do
  begin
    try
      seek(I*RecordSize);
      read...
      writeNewDB;
    except
      RecordIgnorieren
    end;
  end;
Oder ich schreibe an jeden Record Anfang ein Magic - welches ich in einer zerstörten Datei finden kann...

Ich wollte jetzt aber nicht das Dateiformat von SQLite nach programmieren...

Mavarik

Ich ziehe die Frage hiermit zurück...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

AW: SQLite Dump mit FireDAC

  Alt 2. Mai 2017, 14:30
Ist bei den kleineren Dingern DBMS nicht eh jede Daenbank oder gar Tabelle eine eigene Datei?

Da kannst du doch auch im Programm regelmäßig ein Backup machen, indem die die Datenbank oder die einzelnen Tabellen klonst.
Und bei Problemen eine ältere Version zurück spiels.
https://www.tutorialspoint.com/sql/s...ing-tables.htm

Modernere DBMS arbeiten mit Transaktionen, wo änderungen erstmal in ein transaktionslog kommen, dann wird dieses Log in die Hauptdatei übernommen und erst wenn fertig, dann wird das Log gelöscht.
Wenn man als bei Schreibvorgängen was kaputt macht (RoterKnopf, SteckerZiehn usw.), dann gibt es immer mindestens einen konsitenten Zustand und das DBMS kann abgebrochen Schreibforgänge wiederholen (reparieren), bzw. maximal die allerletzte Transaktion könnte verschwinden, wenn sie noch nicht vollständig gespeichert wurde.
(Fehler am Datenträger, bzw. Änderungen während das DBMS offline war, mal ausgeschlossen)
$2B or not $2B

Geändert von himitsu ( 2. Mai 2017 um 14:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:56 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