4D v14.3VERIFY DATA FILE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
VERIFY DATA FILE
|
VERIFY DATA FILE ( StrukturPfad ; DatenPfad ; Objekte ; Optionen ; Methode {; TabellenArray {; FelderArray}} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
StrukturPfad | Text |
![]() |
Pfadname der zu prüfenden 4D Strukturdatei | |||||
DatenPfad | Text |
![]() |
Pfadname der zu prüfenden Datendatei | |||||
Objekte | Lange Ganzzahl |
![]() |
Zu prüfende Objekte | |||||
Optionen | Lange Ganzzahl |
![]() |
Zu prüfende Optionen | |||||
Methode | Text |
![]() |
Name der 4D Callback Methode | |||||
TabellenArray | Array Lange Ganzzahl |
![]() |
Nummern der zu prüfenden Tabellen | |||||
FelderArray | Array 2D Ganzzahl, Array 2D Lange Ganzzahl, Array 2D Zahl |
![]() |
Nummern der zu prüfenden Indizes | |||||
Der Befehl VERIFY DATA FILE prüft die Struktur der Objekte in der 4D Datendatei, definiert durch die Parameter StrukturPfad und DatenPfad.
Hinweis: Weitere Informationen dazu finden Sie im Abschnitt Beschreibung der 4D Dateien des Handbuchs 4D Designmodus.
Achtung: Sie können die aktuelle Strukturdatei bestimmen, die Datendatei muss jedoch nicht die aktuelle (offene) Datei sein. Mit dem Befehl VERIFY CURRENT DATA FILE können Sie prüfen, ob die Datendatei offen ist. Versuchen Sie, die aktuelle Datendatei mit VERIFY DATA FILE zu prüfen, wird ein Fehler erzeugt.
Die festgelegte Datendatei wird im Nur-Lesen Modus geöffnet. Stellen Sie sicher, dass keine Anwendung im Schreibmodus auf diese Datei zugreift, denn das kann die Ergebnisse der Prüfung beeinträchtigen.
Im Parameter DatenPfad können Sie einen leeren String, einen Dateinamen oder einen kompletten Pfadnamen in der Schreibweise des Betriebssystems übergeben. Bei einem leeren String erscheint der Standard Öffnen-Dialog, so dass der Benutzer die entsprechende Datei auswählen kann. Beachten Sie, dass Sie dann nicht die aktuelle Datendatei auswählen können. Übergeben Sie nur den Namen einer Datendatei, sucht 4D danach auf derselben Ebene wie die festgelegte Strukturdatei.
Konstante | Typ | Wert | Meldung |
Verify all | Lange Ganzzahl | 16 | |
Verify indexes | Lange Ganzzahl | 8 | Diese Option prüft die physikalische Konsistenz der Indizes, ohne Verknüpfung zu den Daten. Sie zeigt ungültige Verknüpfungen an, kann jedoch keine doppelten Verknüpfungen ausfindig machen (zwei Indizes zeigen auf den gleichen Datensatz). Diese Art Fehler lässt sich nur mit der Option Verify all ausfindig machen. |
Verify records | Lange Ganzzahl | 4 |
Konstante | Typ | Wert | Meldung |
Do not create log file | Lange Ganzzahl | 16384 | Dieser Befehl erstellt generell ein Logbuch im XML Format. Mit dieser Option wird kein Logbuch angelegt. |
- $1 | Lange Ganzzahl | Meldungstyp (siehe Tabelle) |
- $2 | Lange Ganzzahl | Objekttyp |
- $3 | Text | Meldung |
- $4 | Lange Ganzzahl | Tabellennummer |
- $5 | Lange Ganzzahl | Reserviert |
Nachfolgende Tabelle beschreibt den Inhalt der Parameter je nach Ereignistyp:
Ereignis | $1 (Lange Ganzzahl) | $2 (Lange Ganzzahl) | $3 (Text) | $4 (Lange Ganzzahl) | $5 (Lange Ganzzahl) |
Meldung | 1 | 0 | Meldung über | Erledigter Prozent- | Reserviert |
Verlauf | satz (0-100) | Reserviert | |||
Überprüfungsende (*) | 2 | Objekttyp (**) | Meldungstext | Tabellen- oder | Reserviert |
OK | Indexnummer | ||||
Fehler | 3 | Objekttyp (**) | Text der Fehler- | Tabellen- oder | Reserviert |
meldung | Indexnummer | ||||
Ausführungsende | 4 | 0 | Fertig | 0 | Reserviert |
Warnung | 5 | Objekttyp (**) | Text der | Tabellen- oder | Reserviert |
Fehlermeldung | Indexnummer |
(*) Ist der Modus Verify All, wird nie das Ereignis Überprüfungsende ($1=2) zurückgegeben. Es wird nur für die Modi Verify Records oder Verify Indexes verwendet.
(**) Objekttyp: Wurde ein Objekt bestätigt, kann eine Meldung "beendet" ($1=2), Fehler ($1=3) oder Warnung ($1=5) gesendet werden. Für $2 sind folgende Objekttypen möglich:
Sonderfall: Ist $4 = 0 für $1=2, 3 oder 5 betrifft die Meldung keine Tabelle oder Index, sondern die gesamte Datendatei.
Die Callback Methode muss auch einen Wert in $0 zurückgeben (Lange Ganzzahl), der die Ausführung der Operation prüft:
- Ist $0 = 0, läuft die Operation normal weiter
- Ist $0 = -128, stoppt die Operation ohne Erzeugen eines Fehlers
- Ist $0 = ein anderer Wert, stoppt die Operation und der in $0 übergebene Wert wird als Fehlernummer zurückgegeben. Dieser Fehler lässt sich über eine Fehlerverwaltungsmethode abfangen.
Hinweis: Wurde das Ereignis ($4=1) generiert, können Sie die Ausführung nicht via $0 unterbrechen.
Dieser Befehl kann auch 2 optionale Arrays verwenden:
Der Befehl VERIFY DATA FILE erstellt einen Prüfbericht im XML-Format (wenn Sie nicht die Konstante Do not create log file übergeben haben, siehe Parameter Optionen). Es hat den Namen der Datendatei und liegt im Ordner Logs der Datenbank.
Beispiel: Bei einer Datendatei mit Namen “data.4dd” lautet der Prüfbericht “data_verify_log.xml.”
Einfache Überprüfung von Daten und Indizes:
VERIFY DATA FILE($StructName;$DataName;Verify indexes+Verify records;Do not create log file;"")
Vollständige Überprüfung mit Prüfbericht
VERIFY DATA FILE($StructName;$DataName;Verify all;0;"")
Nur Datensätze überprüfen
VERIFY DATA FILE($StructName;$DataName;Verify records;0;"")
Nur Datensätze der Tabellen 3 und 7 überprüfen:
ARRAY LONGINT($arrTableNums;2)
$arrTableNums{1}:=3
$arrTableNums{2}:=7
VERIFY DATA FILE($StructName;$DataName;Verify records;0;"FollowScan";$arrTableNums)
Bestimmte Indizes überprüfen (Index von Feld 1 der Tabelle 4 und Index der Felder 2 und 3 der Tabelle 5)
ARRAY LONGINT($arrTableNums;0) `wird nicht verwendet, ist aber zwingend
ARRAY LONGINT($arrIndex;2;0) `2 Zeilen (Spalten werden später hinzugefügt)
$arrIndex{1}{0}:=4 `Tabellennummer in Element 0
APPEND TO ARRAY($arrIndex{1};1) `Nummer des 1. zu prüfenden Feldes
$arrIndex{2}{0}:=5 `Tabellennummer in Element 0
APPEND TO ARRAY($arrIndex{2};2) `Nummer des 1. zu prüfenden Feldes
APPEND TO ARRAY($arrIndex{2};3) `Nummer des 2. zu prüfenden Feldes
VERIFY DATA FILE($StructName;$DataName;Verify indexes;0;"FollowScan";$arrTableNums;$arrIndex)
Existiert die Callback Methode nicht in der Datenbank, wird ein Fehler erzeugt und die Systemvariable OK wird auf 0 (Null) gesetzt.
Produkt: 4D
Thema: 4D Umgebung
Nummer:
939
Geändert: 4D v11 SQL Release 3
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)