4D v16.3

Compacter fichier donnees

Accueil

 
4D v16.3
Compacter fichier donnees

Compacter fichier donnees 


 

Compacter fichier donnees ( cheminStructure ; cheminDonnées {; dossierArchive {; options {; méthode}}} ) -> Résultat 
Paramètre Type   Description
cheminStructure  Texte in Chemin d’accès du fichier de structure
cheminDonnées  Texte in Chemin d’accès du fichier de données
dossierArchive  Texte in Chemin d’accès du dossier dans lequel placer le fichier de données original
options  Entier long in Options de compactage
méthode  Texte in Nom de la méthode 4D de rétro-appel
Résultat  Texte in Chemin d’accès complet du dossier contenant le fichier de données original

La commande Compacter fichier donnees effectue un compactage du fichier de données désigné par le paramètre cheminDonnées associé au fichier de structure cheminStructure. Pour plus d’informations sur le compactage, reportez-vous au manuel Mode Développement.

Pour assurer la continuité du fonctionnement de la base, le nouveau fichier de données compacté remplace automatiquement le fichier original. Par sécurité, le fichier original n’est pas modifié et est déplacé dans un dossier spécial nommé “Replaced files (compacting) AAAA-MM-JJ HH-MM-SS” où AAAA-MM-JJ HH-MM-SS représente la date et l’heure de la sauvegarde. Par exemple : “Replaced files (compacting) 2015-09-27 15-20-35”.

La commande retourne le chemin d’accès complet du dossier effectivement créé pour stocker le fichier de données original. Cette commande peut être exécutée depuis 4D (mode local) ou 4D Server uniquement (procédure stockée). Le fichier de données à compacter doit correspondre au fichier de structure désigné par cheminStructure. En outre, il ne doit PAS être ouvert au moment de l’exécution de la commande, sinon une erreur est générée.
Si une erreur se produit durant le processus de compactage, les fichiers originaux sont conservés à leur emplacement initial. Si un fichier d’index (fichier .4DIndx) est associé au fichier de données, il est également compacté. Comme pour le fichier de données, le fichier original est sauvegardé et la nouvelle version compactée remplace la précédente. 

  • Passez dans cheminStructure le chemin d’accès complet du fichier de structure associé au fichier de données que vous souhaitez compacter. Cette information est nécessaire à la procédure de compactage. Le chemin d’accès doit être exprimé dans la syntaxe du système d’exploitation. Vous pouvez également passer une chaîne vide, dans ce cas une boîte de dialogue standard d’ouverture de fichiers apparaît, permettant à l’utilisateur de désigner le fichier de structure à utiliser.
  • Vous pouvez passer dans cheminDonnées une chaîne vide, un nom de fichier ou un chemin d’accès complet, exprimé dans la syntaxe du système d’exploitation. Si vous passez une chaîne vide, la boîte de dialogue standard d’ouverture de fichier apparaît, permettant à l’utilisateur de désigner le fichier de données à compacter. Ce fichier doit correspondre au fichier de structure défini dans le paramètre cheminStructure. Si vous passez uniquement un nom de fichier de données, 4D le recherchera au même niveau que le fichier de structure.
  • Le paramètre facultatif dossierArchive permet de désigner l’emplacement du dossier “Replaced files (compacting) Dateheure” destiné à recueillir les versions originales des fichiers de données ainsi que des éventuels fichiers d’index.
    La commande retourne le chemin d’accès complet du dossier effectivement créé.
    - Si vous omettez ce paramètre, les fichiers d’origine sont automatiquement déplacés dans un dossier “Replaced files (compacting) Dateheure” créé à côté du fichier de structure.
    - Si vous passez une chaîne vide, une boîte de dialogue standard d’ouverture de dossier apparaît, permettant à l’utilisateur de désigner l’emplacement du dossier à créer.
    - Si vous passez un chemin d’accès (exprimé dans la syntaxe du système d’exploitation), la commande créera le dossier “Replaced files (compacting) Dateheure” à cet emplacement.
  • Le paramètre facultatif options permet de définir diverses options liées au compactage. Pour cela, utilisez les constantes suivantes, placées dans le thème Maintenance fichier de données. Vous pouvez passer plusieurs options en les cumulant :
    Constante Type Valeur Comment
    Compacter table adresses Entier long 131072 Forcer la réécriture de la table d’adresses des enregistrements (ralentit le compactage). A noter que dans ce cas, les numéros des enregistrements sont réécrits. Si vous passez uniquement cette option, 4D active automatiquement l’option ’Mettre à jour enregistrements’.
    Créer un process Entier long 32768 Lorsque cette option est passée, le compactage sera asynchrone et vous devrez gérer les résultats à l’aide de la méthode de rétro-appel (voir ci-dessous). 4D n’affichera pas de barre de progression (il est possible de le faire via la méthode de rétro-appel). La variable système OK prendra la valeur 1 si le process a été correctement lancé et 0 dans les autres cas. Lorsque cette option n’est pas passée, la variable OK prendra la valeur 1 si le compactage s’est correctement déroulé et sinon 0.
    Mettre à jour enregistrements Entier long 65536 Forcer la réécriture de tous les enregistrements suivant la définition courante des champs dans la structure
    Ne pas créer d'historique Entier long 16384 En principe, la commande crée un fichier d’historique au format xml (reportez-vous à la fin de la description de la commande). Vous pouvez annuler ce fonctionnement en passant cette option.
    Nom historique avec date heure Entier long 262144 Lorsque cette option est passée, le nom du fichier d'historique généré contiendra la date et l'heure de sa création, par conséquent il ne remplacera aucun fichier d'historique éventuellement déjà généré. Par défaut, si cette option n'est pas passée, le nom du fichier n'est pas horodaté, et chaque nouveau fichier généré remplace le précédent.
  • Le paramètre méthode permet de désigner une méthode de rétro-appel qui sera régulièrement appelée durant le compactage si l’option Créer un process a été passée. Dans le cas contraire, la méthode de rétro-appel n’est jamais appelée. Pour plus d’informations sur cette méthode, reportez-vous à la description de la commande VERIFIER FICHIER DONNEES.
    Si la méthode de rétro-appel n’existe pas dans la base, une erreur est générée et la variable système OK prend la valeur 0.

Par défaut, la commande Compacter fichier donnees crée un fichier d'historique au format xml (si vous n'avez pas passé l'option Ne pas créer d'historique, cf. paramètre options). Son nom est basé sur celui du fichier de structure de la base courante et il est également placé dans le dossier Logs de cette base. Par exemple, pour un fichier de structure nommé “myDB.4db”, le fichier d’historique sera nommé “myDB_Compact_Log.xml”.
Si vous avez passé l'option Nom historique avec date heure, le nom du fichier d'historique inclut la date et l'heure de sa création sous la forme "AAAA-MM-JJ HH-MM-SS", ce qui donne par exemple : “myDB_Compact_Log_2015-09-27 15-20-35.xml”. Ce principe permet d'éviter que chaque nouveau fichier d'historique écrase le précédent, mais pourra nécessiter ultérieurement une action manuelle afin de supprimer les fichiers superflus.
Quelle que soit l'option sélectionnée, dès lors qu'un fichier d'historique est généré, son chemin est retourné dans la variable système Document à l'issue de l'exécution de la commande.

Exemple  

L’exemple suivant (Windows) effectue le compactage d’un fichier de données :

 $ficStruc:=Fichier structure
 $ficDonnées:="C:\Bases\Factures\Janvier\Factures.4dd"
 $ficOrig:="C:\Bases\Factures\Archives\Janvier\"
 $dossierArch:=Compacter fichier donnees($ficStruc;$ficDonnées;$ficOrig)

Si l’opération de compactage s’est déroulée correctement, la variable système OK prend la valeur 1, sinon elle prend la valeur 0. Si un fichier d'historique a été généré, son chemin complet est retourné dans la variable système Document.



Voir aussi  

Lire fragmentation table
VERIFIER FICHIER DONNEES

 
PROPRIÉTÉS 

Produit : 4D
Thème : Environnement 4D
Numéro : 937
Nom intl. : Compact data file

Cette commande modifie la variable système OKCette commande modifie la variable système Document

 
HISTORIQUE 

Créé : 4D v11 SQL
Modifié : 4D v13
Modifié : 4D v15 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)