Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
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 | Kommentar |
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 | Kommentar |
Do not create log file | Lange Ganzzahl | 16384 | Dieser Befehl erstellt generell ein Logbuch im XML Format. Mit dieser Option wird kein Logbuch angelegt. |
Timestamp log file name | Lange Ganzzahl | 262144 | Ist diese Option übergeben, zeigt der Name des generierten Logbuchs Datum und Uhrzeit seiner Erstellung und ersetzt dann folglich nicht das vorige Logbuch. Standardmäßig hat der Name eines Logbuchs keinen Zeitstempel und das vorige Logbuch wird überschrieben. |
- $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:
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 standardmäßig einen Prüfbericht im XML-Format (wenn Sie nicht die Konstante Do not create log file übergeben haben, siehe Parameter Optionen). Er liegt im Ordner Logs und hat den Namen der Strukturdatei der aktuellen Datenbank.
Beispiel: Bei einer Strukturdatei mit Namen “myDB” lautet der Prüfbericht “myDB_Verify_Log.xml.”
Haben Sie die Option Timestamp log file name übergeben, zeigt der Name des Prüfberichts auch Datum und Uhrzeit der Erstellung im Format "YYYY-MM-DD HH-MM-SS", der Name im Beispiel lautet dann: “myDB_Verify_Log_2015-09-27 15-20-35.xml”. Das bedeutet, dass ein neuer Prüfbericht nicht den vorigen ersetzt und dann nicht benötigte Dateien per Hand entfernt werden müssen.
Unabhängig von der gewählten Option wird der Pfad des generierten Prüfberichts nach Ausführung des Befehls in der Systemvariablen Document zurückgegeben.
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)
Die Datendatei überprüfen, den Prüfbericht erstellen und anzeigen:
VERIFY DATA FILE(Structure file;Data file;Verify all;0;"")
SHOW ON DISK(File(Verification log file).platformPath)
Existiert die Callback Methode nicht, wird keine Überprüfung durchgeführt, ein Fehler erzeugt und die Systemvariable OK auf 0 (Null) gesetzt. Wurde ein Prüfbericht generiert, wird sein kompletter Pfadname in der Systemvariable Document zurückgegeben.
Produkt: 4D
Thema: 4D Umgebung
Nummer:
939
Geändert: 4D v11 SQL Release 3
Geändert: 4D v15 R3
4D Programmiersprache ( 4D v20 R7)