Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
INTEGRATE MIRROR LOG FILE
|
INTEGRATE MIRROR LOG FILE ( PfadName ; OperationNr {; Modus {; errObjekt}} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
PfadName | Text |
![]() |
Name oder Pfadname des zu integrierenden Logbuchs | |||||
OperationNr | Variable Zahl |
![]() |
Nummer der zuletzt integrierten Operation | |||||
![]() |
Neue Nummer der letzten integrierten Operation oder -2 zum Integrieren der gesamten Datei | |||||||
Modus | Lange Ganzzahl |
![]() |
0=Strikter Modus (Standard), 1=auto-repair Modus | |||||
errObjekt | Object variable |
![]() |
Fehlende Operation(en) | |||||
Vorbemerkung: Dieser Befehl arbeitet nur mit 4D Server. Er lässt sich nur über die Funktion Execute on server oder in einer Serverprozedur ausführen.
Der Befehl INTEGRATE MIRROR LOG FILE integriert das Journal, das im Parameter PfadName angegeben ist, in eine 4D Server Datenbank, optional nach der Operation, angegeben in OperationNr. Dieser Befehl erlaubt, jedes Journal in die Datenbank zu integrieren, auch wenn es nicht dem aktuellen Status der Datendatei entspricht. Er eignet sich speziell zur Verwendung im Kontext einer Spiegeldatenbank.
Hinweis: Ab 4D v14 lässt sich ein Journal als Teil einer Spiegeldatenbank verwenden. Die Option "Benutze Logbuch" lässt sich auch in den Datenbank-Eigenschaften eines 4D Server markieren, der als Spiegel-Server verwendet wird. Auf diese Weise ist das Implementieren einer Reihe verschachtelter Spiegel-Server möglich. Weitere Informationen dazu finden Sie im Abschnitt Logischen Spiegel einrichten des Handbuchs 4D Server.
Dieser Befehl ersetzt, im Gegensatz zum Befehl _o_INTEGRATE LOG FILE am Ende der Ausführung nicht das aktuelle Journal durch das integrierte: Das aktuelle Journal der Datenbank wird weiter verwendet. So werden alle Änderungen während der Integration im aktuellen Journal gesichert.
In PfadName übergeben Sie einen absoluten oder relativen Pfad des Datenbankordners. Übergeben Sie einen leeren String, erscheint ein Standard-Öffnen Dialog, so dass Sie die Datei zum Integrieren wählen können. Wird dieser Dialog abgebrochen, wird keine Datei integriert und die Systemvariable OK auf 0 gesetzt.
Standardmäßig, d.h. ohne den Parameter OperationNr, integriert der Befehl alle Operationen des Journals.
Übergeben Sie einen Wert in OperationNr, beginnt die Integration mit der Operation mit der nächsthöheren Nummer. Nach der Integration wird der Wert der Variablen OperationNr mit der Nummer der zuletzt integrierten Operation aktualisiert. Sie müssen diese Variable sichern und können sie dann als Parameter OperationNr für die nächste Operation zum Integrieren verwenden. So können Sie mit INTEGRATE MIRROR LOG FILE nachfolgende Logbücher direkt im Anschluss integrieren.
Hinweis zur Kompatibilität: Bisher war der Parameter OperationNr optional; ab v15 R4 ist er zwingend, d.h. wird OperationNr weggelassen, wird ein Fehler generiert. Wollen Sie die bisherige Funktionsweise wiederherstellen, übergeben Sie -2 als Variablenwert des Parameters.
In Modus übergeben Sie den gewünschten Integrationsmodus. Sie können zwischen zwei Konstanten unter dem Thema "Backup und Wiederherstellen" wählen:
Konstante | Typ | Wert | Kommentar |
Auto repair mode | Lange Ganzzahl | 1 | Verwendet flexiblen Modus mit auto-repair Aktionen und füllt den Parameter errObjekt (falls vorhanden). |
Strict mode | Lange Ganzzahl | 0 | Verwendet strikten Integrationsmodus (Standard). |
Tritt eine dieser Unregelmäßigkeiten im auto-repair Modus auf, wird der betroffene Datensatz automatisch "repariert" und die entsprechende Operation wird im Parameter errObjekt protokolliert. Nach abgeschlossener Ausführung listet der Parameter errObjekt alle reparierten Datensätze. Er enthält ein Array Objekt mit Namen "operations" in folgender Form:
{"operations":
[
{
"operationType":24,
"operationName":"Create record",
"operationNumber":2,
"contextID":48,
"timeStamp":"2015-07-10T07:53:02.413Z",
"dataLen":24,
"recordNumber":0,
"tableID":"F4CXXXXX",
"tableName":"Customers",
"fields": {
"1": 9,
"2": "test value",
"3": "2003-03-03T00:00:00.000Z",
"4": "BlobPath: Table 1/Field 4/Data_9ACB28F1A2744FDFA5822B22F18B2E12.png",
"8": "BlobID: 2"
}
},
{...}
]
Warnung: Der auto-repair Modus darf nur in spezifischen Fällen verwendet werden, da er die 4D Kontrollfunktionen zur internen Datenintegration übergeht. Ein solcher Fall wäre z.B., wenn ein dazwischen liegendes Logbuch verloren ging oder beschädigt ist, und Sie möglichst viele Operationen wiederherstellen wollen. In diesem Modus müssen Sie besonders auf die Datenintegrität achten.
Die aktuelle Liste der verfügbaren Eigenschaften richtet sich nach der Art der Operation (z.B. Datensatz erstellen, Datensatz löschen, Datensatz ändern, Blob erstellen). Hier die Haupteigenschaften:
Ein Spiegel Logbuch auf dem Server im auto-repair Modus integrieren:
//Auf dem Server ausführen
C_OBJECT($err)
C_LONGINT($num) //-2 zum Integrieren aller Operationen
INTEGRATE MIRROR LOG FILE("c:\\mirror\\logNew.journal";$num;Auto repair mode;$err)
Bei korrekt ausgeführter Integration wird die Systemvariable OK auf 1 gesetzt; andernfalls auf 0 (Null).
_o_INTEGRATE LOG FILE
Download HDI database
LOG FILE TO JSON
Produkt: 4D
Thema: Backup
Nummer:
1312
Erstellt: 4D v14
Geändert: 4D v15 R4
4D Programmiersprache ( 4D v20 R7)