Lors de l’intégration du fichier journal, 4D s’arrête à la première erreur et ne renvoie aucun message d’erreur. Les erreurs d’intégration peuvent être dues à un journal endommagé, par exemple à cause d’un mauvais disque dur ou d’une erreur logicielle pendant l’écriture. Si cette erreur se produit à la fin, pas de problème ; mais elle peut aussi se produire au début ou au milieu du journal. Dans ce cas, les données situées après l’erreur peuvent être utiles.
Maintenant, lorsque l’intégration échoue en mode standard, vous pouvez essayer l’intégration en mode auto-réparation. Dans ce cas, 4D essaie de résoudre l’erreur rencontrée, n’arrête pas l’intégration et renvoie la liste des erreurs.
Les erreurs réparées automatiquement par 4D sont :
- Si le journal demande d’ajouter un enregistrement, mais que cet enregistrement existe déjà dans les données, 4D met à jour l’enregistrement.
- Si le journal demande de mettre à jour un enregistrement, mais que cet enregistrement n’existe pas, 4D ajoute l’enregistrement.
- Si le journal demande à supprimer un enregistrement, mais que cet enregistrement n’existe pas, 4D ne fait rien.
La nouvelle syntaxe de la commande est la suivante :
INTEGRATE MIRROR LOG FILE (pathName ; operationNum ; {numMode { ; errObject}})
- pathName : Nom ou chemin d’accès du fichier journal à intégrer.
- operationNum : Numéro de la dernière opération intégrée (ou -2 pour intégrer le fichier entier)
- numMode : 0 pour le mode strict (mode réel), 1 pour l’auto-réparation
- errObject : objet
Exemple de errObject :
{"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" : "valeur test",
"3" : "2003-03-03T00:00:00.000Z",
"4" : "BlobPath : Table 1/Field 4/Data_9ACB28F1A2744FDFA5822B22F18B2E12.png",
"8" : "BlobID : 2"
}
},
{...}
]
}
Une base de données d’exemple est disponible pour démontrer la nouvelle fonctionnalité.
Remarque : la commande INTEGRATE MIRROR LOG FILE ne fonctionne qu’avec 4D Server. Vous devez ouvrir cette base de données avec 4D Server, si vous voulez tester le nouveau mode d’intégration.
Pour plus de détails, veuillez consulter le manuel de mise à niveau de 4D v15 R4.