VFP-Praxis Reparatur von VFP Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
Allgemeine Technologien II
Advertisements

Parser generieren Yet Another Compiler – Compiler YACC.
Einführung MySQL mit PHP
Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro
Arbeiten mit DBC in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast DBC.
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
Neue DBF und DBC Befehle in Visual FoxPro
Was ist neu in VFX 9.5 im 2. Quartal 2006? Uwe Habermann Visual Extend Product Manager
© 2005 Uwe Habermann Visual Extend 9.5 Technical Preview Uwe Habermann Visual Extend Product Manager
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Client/Server mit Visual FoxPro 9.0
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Uwe Habermann Was ist neu in VFX 10.0? Venelina Jordanova
Uwe Habermann VCM Visual Contact Manager.
VFX 10.0 Visual Extend Datenzugriff
Uwe Habermann VFX 10.0 Visual Extend Produktaktivierung Venelina Jordanova
Visual FoxPro 6.0 Visual FoxPro einrichten Datenbanken und Tabellen.
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Uwe Habermann VFX 11.0 VFX - DBF-CA Wizard Venelina Jordanova
Uwe Habermann VFX 10.0 Visual Extend Anwendungsverteilung.
Visual Extend Application Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 07 D.
Uwe Habermann VFX 11.0 Distribution von Anwendungen Venelina Jordanova
Uwe Habermann VFX 11.0 Einsatz von Cursoradaptern in bestehenden Anwendungen Venelina Jordanova
Uwe Habermann VFX 10.0 Visual Extend Features Revisited.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Visual Extend Features der generierten Anwendung für Endbenutzer deutschsprachige FoxPro User Group Uwe Habermann VFX 04 D.
Uwe Habermann Venelina Jordanova Kostenloser Einstieg in eine neue Welt!
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
© 2003 Uwe Habermann Visual Extend 8.0 Die Entwicklungsumgebung für VFP 8.0 Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
Fun with VFX – das Anwendertreffen Venelina Jordanova Software Development Team Leader Uwe Habermann Visual Extend Product Manager
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 18 D.
Visual Extend Mandantenfähigkeit deutschsprachige FoxPro User Group Uwe Habermann VFX 22 D.
Visual Extend Lokalisierung deutschsprachige FoxPro User Group Uwe Habermann VFX 24 D.
Visual Extend Application Wizard deutschsprachige FoxPro User Group Uwe Habermann VFX 06 D.
© 2005 Uwe Habermann, Venelina Jordanova Visual Extend 9.0 Die Entwicklungsumgebung für VFP 9.0 Uwe Habermann Visual Extend Product Manager
Uwe Habermann Venelina Jordanova Schreiben von Visual FoxPro Code in der Oberfläche.
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Uwe Habermann Venelina Jordanova Wishlist VFX für Visual FoxPro.
Einführung in 2 Betriebssysteme
Fun with VFX – das Anwendertreffen Venelina Jordanova Software Development Team Leader Uwe Habermann Visual Extend Product Manager
verstehen planen bearbeiten
Normalisierungsprozess
Uwe Habermann V-VFX2 Produktiv mit VFX Builder Einsatz in der Praxis Venelina Jordanova
„Mein Drucker druckt nicht!“
Uwe Habermann Venelina Jordanova Bestehende VFX-Anwendungen leicht erweitern.
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
Migration von VFP Anwendungen nach Silverlight Uwe Habermann Venelina Jordanova
Uwe Habermann Neue und selten genutzte Features von VFX.
F.A.D.E. Feigl‘s and Albrecht‘s Destructive Editor Implementierung eines sicheren Schutzes von Shareware.
Datenbanken Eine Einführung.
PHPmyadmin Maya Kindler 6c.
Datenbanken Maya Kindler 6c.
15 Tabellen erstellen und Tabellenstruktur bearbeiten Grundlagen zu Tabellen l Tabelle l Enthält Daten zu einem bestimmten Thema l Beispiele:  Mitarbeiterdaten.
Uwe Habermann VFP Advanced auch als 64 bit Version.
D-SQL Vom Datenbank-Container zur SQL Server-Datenbank
Visual FoxPro Advanced Umstellen auf 64 bit
Dipl.-Inform. Uwe Habermann
D-VFX Moderne Benutzeroberflächen und weitere Features am Beispiel von VFX Uwe Habermann
D-VFXL Late Night VFX Anwendertreffen
D-SQL SQLization – endlich Client/Server!
Visual Extend Neuheiten in der Version 16.0
Serienbrief erstellen mit LibreOffice Writer
VFP-Praxis Zeitgesteuerte Berichte in VFP
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
V&U Project Tools Update Project
 Präsentation transkript:

VFP-Praxis Reparatur von VFP Datenbanken Uwe Habermann Uwe@hceood.eu

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

Warum kaputt? SMB Netzwerkprobleme Abstürze IF ! CheckSMB() * http://hceood.eu/cebit_2015.htm Netzwerkprobleme Fehlerhafte IP Pakete Abstürze

Aufbau von VFP Datenbanken DBC DCX DCT Tabellen DBF CDX FPT

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.

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

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

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

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

FoxFix Patcht Header entsprechend DBC und Dateigröße Memoscan repariert Pointer zu Memos http://www.xitech-europe.co.uk/foxfix.php

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

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

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

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

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

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

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

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

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

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

Vielen Dank! Uwe Habermann Uwe@hceood.eu