4D v16.3

Compact data file

Home

 
4D v16.3
Compact data file

Compact data file 


 

Compact data file ( StrukturPfad ; DatenPfad {; ArchivOrdner {; Option {; Methode}}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
StrukturPfad  Text in Pfadname der Strukturdatei
DatenPfad  Text in Pfadname der zu komprimierenden Datendatei
ArchivOrdner  Text in Pfadname des Ordners, wo die Original Datendatei abgelegt wird
Option  Lange Ganzzahl in Komprimierungsoptionen
Methode  Text in Name der 4D Callback Methode
Funktionsergebnis  Text in Kompletter Pfadname des Ordners mit den Original Datendateien

Die Funktion Compact data file komprimiert die Datendatei, definiert im Parameter DatenPfad, die der Strukturdatei, definiert im Parameter StrukturPfad, zugeordnet ist. Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus.

Um die Kontinuität der Datenbankoperationen zu gewährleisten, ersetzt die neue komprimierte Datendatei automatisch die Originaldatei. Die Originaldatei wird zur Sicherheit nicht verändert und in einen speziellen Ordner mit Namen “Ersetzte Dateien (Komprimierung)” JJJJ-MM-DD HH-MM-SS” abgelegt, wobei JJJJ-MM-DD HH-MM-SS Datum und Zeit des Backup angeben. Zum Beispiel: “Ersetzte Dateien (Komprimierung) 2007-09-27 15-20-35”.

Die Funktion gibt den vollständigen Dateinamen des Ordners zurück, der aktuell zum Speichern der Original Datendatei angelegt wird. Sie lässt sich nur in 4D im lokalen Modus oder in 4D Server (Serverprozeduren) ausführen. Die zu komprimierende Datendatei muss zur Strukturdatei passen, die im Parameter StrukturPfad definiert ist. Außerdem darf die Datendatei beim Ausführen der Funktion nicht geöffnet sein. Sonst wird ein Fehler erzeugt.
Tritt während der Komprimierung ein Fehler auf, bleiben die Originaldateien am ursprünglichen Ort bestehen. Ist der Datendatei eine Indexdatei (.4DIndx) zugeordnet, wird diese auch komprimiert. Ihre Originaldatei wird, wie die Datendatei, gesichert. Die neue komprimierte Version ersetzt die bisherige Datei.

  • Im Parameter StrukturPfad übergeben Sie den vollständigen Pfadnamen der Strukturdatei, die der Datendatei, die Sie komprimieren wollen, zugeordnet ist. Diese Information ist für die Komprimierung erforderlich, der Pfad muss in der Schreibweise des Betriebssystems sein. Sie können auch einen leeren String übergeben; in diesem Fall erscheint der Standard-Öffnen Dialog, wo Sie die gewünschte Strukturdatei wählen können.
  • Im Parameter DatenPfad können Sie einen leeren String, einen Dateinamen oder einen kompletten Pfadnamen in der Schreibweise des Betriebssystems angeben. Übergeben Sie einen leeren String; erscheint der Standard-Öffnen Dialog, wo der Benutzer die gewünschte Datendatei wählen kann. Sie muss zur Strukturdatei passen, die im Parameter StrukturPfad übergeben wurde. Übergeben Sie nur den Namen der Datendatei, sucht 4D danach auf derselben Ebene wie die Strukturdatei.
  • Im optionalen Parameter ArchivOrdner geben Sie die Position des Ordners “Ersetzte Dateien (Komprimieren) DatumZeit” an, der für die Originalversion der Datendatei sowie evtl. Indexdateien vorgesehen ist. Der Befehl gibt den vollständigen Pfadnamen des aktuell erstellten Ordners an.
    • Geben Sie diesen Parameter nicht an, werden die Originaldateien automatisch in einen Ordner “Ersetzte Dateien (Komprimierung) DatumZeit” gelegt, der neben der Strukturdatei angelegt wird.
    • Übergeben Sie einen leeren String, erscheint der Standard-Öffnen Dialog, wo der Benutzer die Position des anzulegenden Ordners angeben kann.
    • Übergeben Sie einen Pfadnamen (in der Schreibweise des Betriebssystems), erstellt der Befehl den Ordner “Ersetzte Dateien (Komprimierung)” DatumZeit” an dieser Position.
  • Mit dem optionalen Parameter Option können Sie verschiedene Einstellungen für die Komprimierung setzen. Dafür verwenden Sie die folgenden Konstanten unter dem Thema Datendatei Wartung. Sie können auch mehrere Optionen miteinander kombinieren:
    Konstante Typ Wert Kommentar
    Compact address table Lange Ganzzahl 131072 Neuschreiben der Adresstabellen der Datensätze erzwingen (verlangsamt die Komprimierung). Beachten Sie, dass in diesem Fall die Nummern der Datensätze neu geschrieben werden. Übergeben Sie nur diese Option, aktiviert 4D automatisch die Option ’Datensätze aktualisieren’.
    Create process Lange Ganzzahl 32768 Ist diese Option übergeben, erfolgt das Komprimieren asynchron und Sie müssen die Ergebnisse über die Callback Methode verwalten. 4D zeigt keinen Ablaufbalken an (das ist bei Verwenden der Callback Methode möglich). Die Systemvariable OK wird auf 1 gesetzt, wenn der Prozess korrekt gestartet wurde, in allen anderen Fällen auf 0. Ist diese Option nicht übergeben, wird die Systemvariable OK auf 1 gesetzt, wenn die Komprimierung korrekt ausgeführt wurde, sonst auf 0.
    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.
    Update records Lange Ganzzahl 65536 Neuschreiben aller Datensätze gemäß der aktuellen Definition der Felder in der Struktur erzwingen.
  • Mit dem Parameter Methode setzen Sie eine Callback Methode, die während der Komprimierung regelmäßig aufgerufen wird, wenn die Konstante Create process übergeben wurde. Andernfalls wird die Callback Methode nie aufgerufen. Weitere Informationen dazu finden Sie unter dem Befehl VERIFY DATA FILE.
    Existiert die Callback Methode nicht in der Datenbank, wird ein Fehler generiert und die Systemvariable OK wird auf 0 (Null) gesetzt.

Die Funktion Compact data file erstellt standardmäßig ein Logbuch im XML Format. (Haben Sie die Option Do not Create log file übergeben, siehe Parameter Option.) Das Logbuch liegt im Ordner Logs der aktuellen Datenbank und übernimmt den Namen der Strukturdatei. Lautet diese z.B. "myDB.4dd", hat das Logbuch den Namen "myDB_Compact_Log.xml".

Haben Sie die Option Timestamp log file name übergeben, zeigt der Name des Logbuchs auch Datum und Uhrzeit der Erstellung im Format "YYYY-MM-DD HH-MM-SS", der Name im obigen Beispiel lautet dann: “myDB_Compact_Log_2015-09-27 15-20-35.xml”. Das bedeutet, dass ein neues Logbuch nicht das vorige 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 Logbuchs nach Ausführung des Befehls in der Systemvariablen Document zurückgegeben.   

Folgendes Beispiel (Windows) führt die Komprimierung einer Datendatei aus:

 $structFile:=Structure file
 $dataFile:="C:\Databases\Invoices\January\Invoices.4dd"
 $origFile:="C:\Databases\Invoices\Archives\January\"
 $archFolder:=Compact data file($structFile;$dataFile;$origFile;0)

Bei korrekt ausgeführter Komprimierung wird die Systemvariable OK auf 1 gesetzt; sonst auf 0 (Null). Wurde ein Logbuch generiert, wird sein kompletter Pfadname in der Systemvariable Document zurückgegeben.



Siehe auch 

Get table fragmentation
VERIFY DATA FILE

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Umgebung
Nummer: 937

Dieser Befehl ändert die Systemvariable OKDieser Befehl ändert die Systemvariable Document

 
GESCHICHTE 

Erstellt: 4D v11 SQL
Geändert: 4D v13
Geändert: 4D v15 R3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)