4D v16.3

FIXER CHEMIN DONNEES EXTERNES

Accueil

 
4D v16.3
FIXER CHEMIN DONNEES EXTERNES

FIXER CHEMIN DONNEES EXTERNES 


 

FIXER CHEMIN DONNEES EXTERNES ( leChamp ; chemin ) 
Paramètre Type   Description
leChamp  Texte, BLOB, Image, Objet in Champ pour lequel définir le lieu de stockage
chemin  Texte, Entier long in Chemin d’accès et nom du fichier de stockage externe ou
0 = utiliser la définition en structure
1 = utiliser le dossier par défaut

La commande FIXER CHEMIN DONNEES EXTERNES permet de définir ou de modifier, pour l’enregistrement courant, l’emplacement de stockage externe du champ leChamp passé en paramètre.

4D autorise le stockage des données des champs de type Texte, Blob et Image et Objet à l'extérieur du fichier de données. Pour une description complète de cette fonctionnalité, reportez-vous au manuel Mode Développement.

Le paramétrage défini par cette commande sera appliqué uniquement lors du stockage sur disque de l’enregistrement courant. Si l’enregistrement courant est annulé, la commande ne fait rien. Les paramètres de stockage définis dans la structure de l’application ne sont pas modifiés.

Vous pouvez passer dans chemin soit un chemin d’accès personnalisé, soit une constante désignant un emplacement automatique :

  • chemin d’accès personnalisé au fichier
    Dans ce cas, vous utilisez le stockage externe en "mode personnalisé". Dans ce mode, certaines fonctions de base de données de 4D ne sont pas disponibles automatiquement (cf. manuel Mode Développement). En particulier, vous devez gérer vous-même la création ou la modification des fichiers.
    Vous pouvez passer un chemin relatif au fichier de données ou un chemin absolu, incluant obligatoirement le nom du fichier de stockage et son extension. Vous devez utiliser la syntaxe système. Pour définir un chemin relatif au fichier de données, passez "../" (Windows) ou "..:" (OS X) au début de la chaîne. Vous pouvez désigner tout dossier, y compris le dossier par défaut des fichiers externes de la base (nomBase.ExternalData) - dans ce cas, les fichiers seront inclus lors de la sauvegarde de la base.
    Le fichier désigné par le paramètre chemin doit exister et être accessible au moment de l'exécution de la commande. A noter que si le chemin est invalide (fichier ou dossier manquant), une erreur est retournée uniquement dans le cas où chemin a été défini en absolu. Dans le cas où chemin a été défini en relatif, vous devez vous assurer de sa validité, aucune erreur n'est générée si le fichier n'est pas trouvé.
    Si vous stockez le fichier externe dans le même dossier que le fichier de données ou un de ses sous-dossiers, 4D considérera que le chemin défini est relatif au fichier de données et maintiendra le lien même si le dossier du fichier de données est déplacé ou renommé.
    A noter que ce principe permet de "partager" un même fichier externe entre plusieurs enregistrements. Toute modification effectuée sur ce fichier externe est disponible dans tous les enregistrements. Attention dans ce cas, si plusieurs process peuvent écrire simultanément les mêmes champs, vous devez empêcher les accès concurrents via des sémaphores afin de ne pas risque d’endommager les fichiers externes.
  • emplacement automatique
    Vous pouvez désigner deux emplacements automatiques, à l’aide des constantes suivantes, placées dans le thème Maintenance fichier de données :
    Constante Type Valeur Comment
    Utiliser définition structure Entier long 0 4D utilisera les paramètres définis dans la structure pour le stockage du champ (cf. manuel Mode Développement). Si vous passez d’un stockage externe à un stockage interne, le fichier externe n’est pas supprimé.
    Utiliser dossier par défaut Entier long 1 Les données du champ passé en paramètre seront stockées dans le dossier par défaut, nommé nomBase.ExternalData et placé à côté du fichier de données. Dans ce mode, les données externes sont gérées par 4D comme si elles étaient à l’intérieur du fichier de données. 

Une fois la commande exécutée, 4D maintient automatiquement le lien entre le champ de l’enregistrement et le fichier sur disque, il n’est pas nécessaire de réexécuter la commande (hormis si le chemin doit être modifié). Si 4D ne peut plus accéder aux données du champ (fichier de stockage renommé ou supprimé, chemin modifié...), le champ est vide mais aucune erreur n'est générée. 

Note : La commande FIXER CHEMIN DONNEES EXTERNES peut uniquement être exécutée sur 4D local ou 4D Server. Si elle est exécutée sur un 4D distant, elle ne fait rien.

Exemple  

Vous souhaitez enregistrer dans le champ image un fichier existant, stocké à l'extérieur des données, dans le dossier de la base :

 CREER ENREGISTREMENT([Photos])
 [Photos]Nom:="Paris.png"
 FIXER CHEMIN DONNEES EXTERNES([Photos]Vignette;Dossier 4D(Dossier base)+"custom"+Séparateur dossier+[Photos]Nom)
  //"/custom/Paris.png" doit exister à côté du fichier de structure
 STOCKER ENREGISTREMENT([Photos])



Voir aussi  

Lire chemin donnees externes
RECHARGER DONNEES EXTERNES

 
PROPRIÉTÉS 

Produit : 4D
Thème : Définition structure
Numéro : 1134
Nom intl. : SET EXTERNAL DATA PATH

Commande(s) éligible(s) à l'exécution dans un process préemptifComportement différent en mode distant

 
HISTORIQUE 

Créé : 4D v13
Modifié : 4D v15

 
UTILISATION DE L'ARTICLE

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