Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

VFP-Praxis Reparatur von VFP Datenbanken

Ähnliche Präsentationen


Präsentation zum Thema: "VFP-Praxis Reparatur von VFP Datenbanken"—  Präsentation transkript:

1 VFP-Praxis Reparatur von VFP Datenbanken
Uwe Habermann

2 Was steht an? Warum kann etwas kaputtgehen? Was kann kaputtgehen?
Wie kann man Fehler erkennen? Welche Möglichkeiten zur Reparatur gibt es?

3 Warum kaputt? SMB Netzwerkprobleme Abstürze IF ! CheckSMB()
* Netzwerkprobleme Fehlerhafte IP Pakete Abstürze

4 Aufbau von VFP Datenbanken
DBC DCX DCT Tabellen DBF CDX FPT

5 Fehlermeldungen 5 && Datensatz außerhalb des Bereichs.
15 && Keine Tabelle. 19 && Indexdatei stimmt nicht mit Tabelle überein. 20 && Datensatz nicht im Index. 41 && Die Memodatei fehlt oder ist ungültig. 114 && Index stimmt nicht mit Tabelle überein. Löschen Sie die Indexdatei und erstellen Sie den Index erneut. 1550 && Interner .DBC-Übereinstimmungsfehler. 1551 && Datei ist eine ungültige Datenbank. 1552 && Datei ist keine Datenbank. 1553 && Datei ist eine Datenbank. 1561 && Datenbank ist ungültig. Bitte Gültigkeitsprüfung durchführen. 1562 && Objekt konnte nicht in der Datenbank gefunden werden. 1563 && Ansicht konnte nicht in der aktuellen Datenbank gefunden werden. 1567 && Die Primärschlüssel-Eigenschaft ist ungültig; bitte überprüfen Sie die Gültigkeit der Datenbank. 1707 && Strukturierte .CDX-Datei wurde nicht gefunden. 1884 && Die Eindeutigkeit des Indexes wird verletzt. 1886 && Index akzeptiert keine Nullwerte.

6 Tabellenaufbau HEADER() RECSIZE() RECCOUNT()
Liefert Größe des Tabellenkopfes RECSIZE() Liefert die Datensatzgröße RECCOUNT() Anzahl der Datensätze gnFileSize = HEADER( ) + ; RECSIZE( ) * RECCOUNT( )

7 Tabellenkopf Bytes 4-7 32-bit Ganzzahl Anzahl der Datensätze
Rückgabewert von RECCOUNT() Wenn dieser Wert falsch ist, kann nur mit SET TABLEVALIDATE TO 0 geöffnet werden

8 Indexdateien REINDEX Setzt voraus, dass der Header der Indexdatei in Ordnung ist

9 Memodateien DBF enthält Pointer auf Bereich in FPT-Datei
Keine Reparaturmöglichkeit in VFP Memoscan von FoxFix

10 FoxFix Patcht Header entsprechend DBC und Dateigröße
Memoscan repariert Pointer zu Memos

11 Befehle Keine Püfung des Satzzählers DBC-Reparatur mit VFP
SET TABLEVALIDATE TO 0 DBC-Reparatur mit VFP VALIDATE DATABASE RECOVER

12 GENDBC.prg Werkzeug zur Generierung von Programmcode zum Erstellen einer gültigen Datenbank Generiert PRG – Strukturen KRT – Gespeicherte Prozeduren

13 Automatische Reparatur
Project Hook Before Build führt GenDBC aus Generierte Dateien werden in VfxInternFiles.dbf gespeichert VfxInternFiles.dbf ist in Exe-Datei eingeschlossen Gendbc erstellt Programmdatei, die gültige Datenbank erstellt Ggf. KRT-Datei mit gespeicherten Prozeduren

14 Automatische Reparatur
Prg und Krt Datei aus VfxInternFiles.dbf in neuen Ordner speichern Ausführen legt neue, leere, gültige Datenbank an Kopie von DBC erstellen Trigger aus DBC entfernen

15 Automatische Reparatur
Gültigen DBC in Ordner defekter Datenbank kopieren Tabellenköpfe in Tabellen in Ordner defekter Datenbank patchen Datensatzzähler setzen Daten mit APPEND FROM aus defekter Datenbank in gültige Datenbank anfügen

16 Automatische Reparatur
In defekter Datenbank DBC überschreiben DBF-Header überschreiben Datensatzzähler anhand Dateigröße setzen

17 Automatische Reparatur
In neuer Datenbank Alle Trigger entfernen Damit es nicht zu Insert-Konflikten kommt

18 Automatische Reparatur
In neuer Datenbank DBC nochmal neu generieren, damit die Trigger drin sind Zähler für AUTOINC setzen Fertig 

19 Automatische Reparatur in VFX Anwendungen
VfxGendbcFunc.prg Ausgeführt im Project Hook BeforeBuild PRG-Datei unter Textdateien eingeschlossen KRT-Datei in Memo von DBF

20 Automatische Reparatur in VFX Anwendungen
Vfxformbase.vcx cDatabaseToolsVfxBase RunCheckStru RunValidate RunMaintenance ClearCorruptedRecords RepairFileHeader

21 Vielen Dank! Uwe Habermann


Herunterladen ppt "VFP-Praxis Reparatur von VFP Datenbanken"

Ähnliche Präsentationen


Google-Anzeigen