Cette page permet de réparer le fichier de données ou le fichier de structure lorsqu’il a été endommagé. Généralement, vous n’utiliserez ces fonctions qu’à la demande de 4D, lorsque des anomalies auront été détectées à l’ouverture de la base ou à la suite d’une vérification (cf section Page Vérification).
Attention : Chaque réparation entraîne la duplication du fichier d’origine et donc l’augmentation de la taille du dossier de l’application. Il est important de tenir compte de ce mécanisme (notamment sous Mac OS où les applications 4D apparaissent sous forme de packages) pour que l’application ne grossisse pas de façon excessive. Une intervention manuelle à l’intérieur du package peut être utile afin de supprimer les copies des fichiers d’origine.
![](../../picture/521242/pict521242.fr.png)
Note : La réparation n’est disponible qu’en mode maintenance. Si vous tentez d’effectuer cette opération en mode standard, une boîte de dialogue d’alerte vous prévient que la base va être fermée puis relancée en mode maintenance.
La zone “Réparer le fichier de données” affiche le chemin d’accès du fichier de données courant ainsi qu’un bouton [...] permettant de désigner un autre fichier de données. Lorsque vous cliquez sur ce bouton, une boîte de dialogue standard d’ouverture de documents s’affiche, vous permettant de désigner le fichier de données à réparer.
Si vous effectuez une réparation standard (cf. ci-dessous) vous devez sélectionner un fichier de données compatible avec le fichier de structure ouvert. Si vous effectuez une réparation par récupération des en-têtes d'enregistrements, vous pouvez sélectionner tout fichier de données.
Une fois la boîte de dialogue validée, le chemin d’accès du fichier à réparer est indiqué dans la fenêtre.
Par défaut, le fichier de données original sera dupliqué avant réparation. Il sera placé dans un sous-dossier libellé “Replaced files (repairing)” dans le dossier de la base. Le second bouton [...] permet de désigner un autre emplacement pour les sauvegardes des fichiers originaux effectuées avant réparation. Cette option permet notamment de réparer des fichiers volumineux en utilisant différents disques.
Vous disposez de deux options de réparation : Réparation standard et Récupération par en-têtes d'enregistrements. Ces options sont détaillées ci-dessous.
Une fois que vous avez configuré les éléments à récupérer, cliquez sur le bouton Réparer ou Analyser et réparer... selon l'option choisie, afin de lancer la réparation. Si vous avez choisi la récupération par en-têtes d'enregistrements, une boîte de dialogue intermédiaire vous permettra de sélectionner les éléments à récupérer (cf. Réparation par en-têtes d'enregistrements ci-dessous).
4D crée un nouveau fichier de données vide à l’emplacement du fichier d’origine. Le fichier d’origine est déplacé dans le dossier nommé "\Replaced Files (Repairing) date heure" dont l’emplacement a été défini dans la zone de "Dossier de sauvegarde" (dossier de la base par défaut). Le fichier vide est rempli avec les données récupérées.
A l’issue de la procédure, la page "Réparation" du CSM est affichée. Un message indique si la réparation a été effectuée avec succès. Dans ce cas, vous pouvez immédiatement ouvrir la base.
![](../../picture/521371/pict521371.fr.png)
Le bouton Voir le compte-rendu affiche dans votre navigateur une page Web détaillant le résultat de l’opération. La page liste l’ensemble des vérifications ou réparations effectuées et signale chaque erreur rencontrée, le cas échéant ([OK] est affiché lorsque la vérification est correcte). Le fichier est généré dans le dossier Logs de la base. Il est créé au format xml et html et est nommé “NomBase_Repair_log”.
La réparation standard permet de réparer des données dans lesquelles seuls quelques enregistrements ou index sont endommagés (les tables d'adresses sont intactes). Les données sont compactées et réparées. A noter que ce type de réparation ne peut être effectué que si le fichier de données et le fichier de structure correspondent.
Cette option de réparation de bas niveau est à utiliser uniquement dans le cas où le fichier de données a été fortement endommagé et une fois que toutes les autres solutions (restitution de sauvegarde, réparation standard) se sont avérées inefficaces.
Les enregistrements de 4D sont de taille variable : il est donc nécessaire, pour les retrouver, de conserver dans une table l’endroit où ils sont stockés sur votre disque. Le programme accède donc à l’adresse de l’enregistrement par l’intermédiaire d’un index et d’une table d’adresses. Si seuls des enregistrements ou des index sont endommagés, l’option de réparation standard suffira généralement pour résoudre le problème. C’est lorsque la table d’adresses est touchée qu’il faudra en venir à une récupération plus sophistiquée, puisqu’il faut la reconstituer. Pour réaliser cette opération, le CSM utilise le marqueur qui se trouve en en-tête de chaque enregistrement. Les marqueurs peuvent être comparés à des résumés des enregistrements, comportant l’essentiel de leurs informations, et à partir desquels une reconstitution de la table d’adresses est possible.
Notes :
- Si vous avez désélectionné l’option Enregistrement(s) définitivement supprimé(s) dans les propriétés d’une table dans la structure de la base, la réparation par marqueurs d’en-êtes pourra faire réapparaître des enregistrements normalement supprimés.
- La récupération par en-têtes ne tient pas compte des éventuelles contraintes d’intégrité. En particulier, à l’issue de cette opération, vous pouvez obtenir des valeurs dupliquées avec des champs uniques ou des valeurs NULL avec des champs déclarés non NULL.
Lorsque vous cliquez sur le bouton Réparer, 4D effectue une analyse complète du fichier de données. A l’issue de cette analyse, le résultat est affiché dans la fenêtre suivante :
![](../../picture/521302/pict521302.fr.png)
Note : Si tous les enregistrements et toutes les tables ont été attribués, seule la zone principale est affichée.
La zone "Contenu du fichier de données analysé" comporte deux tableaux synthétisant les informations issues de l’analyse du fichier de données.
- Le premier tableau liste les informations issues de l’analyse du fichier de données. Chaque ligne représente un groupe d’enregistrements récupérables dans le fichier de données :
- La première colonne indique l’ordre de récupération des groupes d’enregistrements.
- La colonne ## indique le numéro de la table attribuée au groupe, si une table a bien été attribuée.
- La colonne Tables attribuées indique le nom des tables ayant pu être automatiquement associées aux groupes d’enregistrements identifiés. Les noms des tables attribuées automatiquement sont affichés en caractères verts.
- La colonne Enregistrements récupérables indique le nombre d’enregistrements récupérables dans le groupe.
- La colonne Récupérer permet vous permet d’indiquer pour chaque groupe si vous souhaitez récupérer les enregistrements. Par défaut, l’option est cochée pour tous les groupes.
- Le deuxième tableau liste les tables non atttribuées, c’est-à-dire les tables auxquelles aucun enregistrement n’a pu être rattaché.
Attribution manuelle
Si, du fait de l’endommagement de la table d’adresses, un ou plusieurs groupes d’enregistrements n’ont pas pu être attribués à des tables, vous pouvez les attribuer manuellement.
Pour attribuer une table à un groupe non identifié, sélectionnez le groupe dans le premier tableau. Lorsque vous sélectionnez des enregistrements non identifiés, la zone "Contenu des enregistrements" affiche une prévisualisation du contenu des premiers enregistrements du groupe afin de vous permettre de les attribuer plus facilement :
![](../../picture/521304/pict521304.fr.png)
Sélectionnez ensuite la table à attribuer dans le tableau des "Tables non attribuées" puis cliquez sur le bouton Attribuer la table. Vous pouvez également attribuer une table par glisser-déposer.
Le groupe d’enregistrements est alors associé à la table, il sera récupéré dans cette table. Les noms des tables attribuées manuellement sont affichés en caractères noirs.
Le bouton Désattribuer la table permet de supprimer l’association effectuée manuellement entre une table et un groupe d’enregistrements.
La zone “Réparer le fichier de structure” affiche le chemin d’accès du fichier de structure de la base ainsi qu’un bouton [...] permettant de désigner un autre emplacement pour les sauvegardes des fichiers originaux effectuées avant réparation.
Lorsque vous cliquez sur l’un des boutons Réparer, si nécessaire la base est refermée et rouverte en mode maintenance, puis l’opération débute.
A l’issue de la réparation, 4D génère un fichier de compte-rendu dans le dossier de la base. Ce fichier, nommé nombase_Repair_log, est créé au format xml et html. Il permet de visualiser l’ensemble des opérations effectuées. Lorsque vous cliquez sur le bouton Voir le compte rendu, 4D affiche le fichier de compte-rendu au format html dans le navigateur par défaut de l’ordinateur (cf. paragraphe Voir le compte rendu).