Thema: Delphi SQLite Dump mit FireDAC

Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

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

AW: SQLite Dump mit FireDAC

  Alt 2. Mai 2017, 12: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