Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Waldemar Linden Geändert vor über 7 Jahren
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
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.