DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Modification automatique des données
  • Présentation
  • L'utilitaire WDModFic
  • Lancement de WDModFic
  • Fichiers nécessaires
  • Utilisation de WDModFic en mode ligne de commande
  • Exemples
  • Utilisation de WDModFic en mode interactif
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
WDModFic : Outil de modification automatique des tables
HFSQL ClassicHFSQL Client/ServeurDisponible uniquement avec ces types de connexion
Présentation

L'utilitaire WDModFic

WDModFic est un outil permettant d'effectuer la modification automatique des tables présentes sur le poste de développement et sur les postes des utilisateurs finaux.
Par défaut, la modification automatique des tables est réalisée sur le poste des utilisateurs finaux ou sur le poste de déploiement du site lors de la mise à jour des applications. Cependant, dans certains cas (tables présentes sur un ordinateur portable non connecté au réseau au moment de la mise à jour, mise à jour défectueuse, ...), il est nécessaire d'utiliser WDModFic pour réaliser cette modification automatique après la mise à jour de l'application.
Attention: L'utilisation de WDModFic est réservé à des utilisateurs confirmés (par exemple l'administrateur de l'application).
Rappel: La modification automatique des données permet de répercuter sur les tables les modifications effectuées dans le schéma des données HFSQL. Pour plus de détails, consultez Modification automatique des tables.
Conditions d'utilisation: WDModFic n'est pas automatiquement installé avec les applications développées avec WINDEV ou WEBDEV. Il est nécessaire de sélectionner le fichier WDModFic.exe et les fichiers nécessaires (voir paragraphe suivant) lors de la création de l'installation.
La licence d'utilisation de WINDEV et WEBDEV s'applique intégralement.
Remarque: Il est également possible de réaliser la modification automatique des tables par programmation grâce à la fonction HModifieStructure.
Lancement de WDModFic
WDModFic peut être lancé:
  • en mode ligne de commande (non affichage de l'assistant de WDModFic). Il est possible de modifier des tables HFSQL Classic ou HFSQL Client/Serveur.
  • en mode interactif (affichage de l'assistant de WDModFic):
    • sous le volet "Schéma des données", dans le groupe "Schéma des données", déroulez "Synchronisation" et sélectionnez "Synchronisation de la Structure et des Données Déployées (SDD, Modif Auto)" (depuis l'éditeur de schémas des données sur le poste de développement uniquement).
    • en exécutant directement le programme "WDModFic.EXE".

Fichiers nécessaires

Pour exécuter WDMODFIC sur un poste client, les fichiers suivants sont nécessaires:
  • wd300cpl.dll
  • wd300hf.dll
  • wd300mat.dll
  • wd300obj.dll
  • wd300pnt.dll
  • wd300prn.dll (nécessaire pour l'impression)
  • wd300std.dll
  • wd300trs.dll (nécessaire uniquement si les tables sont répliquées)
  • wd300vm.dll
  • wd300xml.dll
  • WDOutil.WDK
  • WDMod300.DLL
  • WDModFic.Exe
Utilisation de WDModFic en mode ligne de commande
Pour réaliser la modification automatique des tables, la syntaxe est la suivante:
WDModFic.EXE [-subdir][-report][-error][-wizard][-nobackup][-noprogress][-nolink]
[-noanaguid][-noanaconnection]
/WDD=<CheminWDD>
/PWD=<MotDePasseWDD>
/DIR=<RepFichierDeDonnées>
/FILE=<FichierDeDonnées>
/FILEPWD=<MotPasseFichierDeDonnées>
/PRJ=<NomProjet>
/SERVER=<BaseDeDonnéesHFSQLClientServeur>
/US
Détails des paramètres:
ParamètreSignification
-subdirSi ce paramètre est précisé, les tables seront recherchées dans le répertoire spécifié (paramètre "/DIR") et dans ces sous-répertoires.
Par défaut, si ce paramètre n'est pas précisé, les tables seront uniquement recherchées dans le répertoire spécifié (paramètre "/DIR")
-reportSi ce paramètre est précisé, un compte-rendu sera affiché à la fin de la modification automatique des tables.
Par défaut, si ce paramètre n'est pas précisé, aucun compte-rendu ne sera affiché à la fin de la modification automatique des tables.
-errorSi ce paramètre est précisé, en cas d'erreur, un message sera affiché à la fin de la modification automatique des tables.
Par défaut, si ce paramètre n'est pas précisé, aucun message d'erreur ne sera affiché à la fin de la modification automatique des tables.
-wizardSi ce paramètre est précisé, l'assistant de la modification automatique des tables se lancera.
Par défaut, si ce paramètre n'est pas précisé, l'assistant de la modification automatique des tables ne se lancera pas.
-nobackupSi ce paramètre est précisé, la sauvegarde des tables modifiées ne sera pas effectuée.
Par défaut, si ce paramètre n'est pas précisé, la sauvegarde des tables modifiées sera effectuée.
-noprogressSi ce paramètre est précisé, aucune jauge ne sera affichée pendant la modification automatique.
-noanaguidSi ce paramètre est précisé, la modification automatique des tables s'appliquera aux descriptions de tables qui n'appartiennent pas au schéma des données en cours (par exemple, cas de la recréation de la description d'une table, ou de la re-création d'un schéma des données, ...).
Pour réaliser la modification automatique, le moteur HFSQL se base alors sur le nom logique de la table. Après la modification automatique des tables, les tables deviennent liées au schéma des données.
-nolinkSi ce paramètre est précisé, la modification automatique des tables ne créera pas les liaisons d'intégrité lors de la mise à jour d'une base HFSQL Client/Serveur.
Par défaut, ce paramètre n'est pas précisé: la modification automatique des tables crée si nécessaire les liaisons d'intégrité lors de la mise à jour d'une base HFSQL Client/Serveur.
-noanaconnectionSi ce paramètre est précisé, la modification automatique n'utilisera pas les connexions définies dans le schéma des données.
Par défaut, la modification automatique des tables utilise les connexions définies dans l'éditeur de schémas des données.
-nobackgroundSi ce paramètre est précisé, la modification automatique ne sera pas effectuée "à chaud".
En mode Client/Serveur, ce paramètre permet d'éviter la demande d'un mot de passe lorsque des tables sont protégées par mot de passe sans être cryptées.
/WDD=<FichierWDD>Chaîne de caractères contenant le nom et le chemin complet du schéma des données (table ".WDD") qui décrit la nouvelle structure des tables.>.
Ce paramètre est obligatoire sauf si le paramètre "-wizard" est spécifié.
/PWD=<MotDePasseWDD>Chaîne de caractères contenant le mot de passe en exécution du schéma des données spécifié (mot de passe défini dans la description du schéma des données).
Ce paramètre doit être précisé uniquement si le schéma des données spécifié est protégé par un mot de passe.
/DIR=<RepFichierDeDonnées>Chaîne de caractères contenant le répertoire dans lequel les tables à mettre à jour seront recherchées. Seules les tables sur lesquelles la modification automatique est nécessaire seront prises en compte.
Si ce paramètre est spécifié, le paramètre "/FILE" ne doit pas être précisé.
Si les tables à mettre à jour sont contenues dans des répertoires différents, il est nécessaire d'exécuter WDModFic pour chaque répertoire.
Remarque: Si des fichiers ".REP" sont présents dans ce répertoire, l'emplacement des tables indiqué dans ces fichiers ".REP" sera pris en compte également.
/FILE=<FichierDeDonnées>Chaîne de caractères contenant le nom et le chemin complet de la table (fichier ".FIC") à mettre à jour.
Si ce paramètre est spécifié, le paramètre "/DIR" ne doit pas être précisé.
Si plusieurs tables doivent être mises à jour, il est nécessaire d'exécuter WDModFic pour chaque table.
/FILEPWD=<MotPasseFichierDeDonnées>Chaîne de caractères contenant le mot de passe de la table spécifiée (mot de passe défini soit à l'aide des fonctions HPasse, HCrée ou HCréeSiInexistant, soit lors d'une précédente modification automatique des données).
Ce paramètre doit être précisé uniquement si la table spécifiée est protégée par un mot de passe.
Remarque: La modification du mot de passe d'une table est possible uniquement en mode interactif.
/PRJ=<NomProjet>Chaîne de caractères contenant le nom du projet à manipuler (sans son chemin).
Si le paramètre "-PDA" est précisé et si le paramètre "-wizard" n'est pas précisé, ce paramètre est obligatoire.
/USSi ce paramètre est précisé, les écrans du mode interactif de WDModFic sont affichés en anglais.
Si ce paramètre n'est pas spécifié, les écrans sont affichés en français.
/SERVER=<BaseDeDonnéesHFSQLClientServeur>Chaîne de caractères au format: [<login>[:<motdepasse>]@]<serveur>[:<port>]/<BaseDeDonnée>
Dans cette chaîne:
  • <login> correspond au login de l'utilisateur
  • <motdepasse> correspond au mot de passe de l'utilisateur.
  • <serveur> correspond au nom du serveur HFSQL. Ce paramètre est obligatoire.
  • <port> correspond au numéro de port du serveur HFSQL. Ce paramètre est optionnel. Par défaut, le port utilisé correspond à 4900.
  • <Base de données> correspond au nom de la base de données HFSQL Client/Serveur. Ce paramètre est obligatoire.
Exemple: /SERVER=Flo:pass@ServeurHF/Mabase
Remarque: Si des espaces sont présents dans le nom de la base de données, il est nécessaire d'utiliser des guillemets. Exemple: /SERVER="Flo:pass@ServeurHF/Ma base"
Remarque: Le tableau ci-dessus présente les différents paramètres pouvant être utilisés pour lancer WDModFic en mode ligne de commande. Pour obtenir directement ces paramètres lors du lancement de WDModFic, utilisez une des syntaxes suivantes:
- WDModFic.EXE /help
- WDModFic.EXE /?

Exemples

  • La ligne de commande suivante permet de reporter les modifications apportées dans le schéma des données "D:\MonApplication\MonAnalyse.WDD" sur les tables présentes dans le répertoire "C:\MesFichiersDeDonnées" et dans ses sous-répertoires (paramètre "-subdir"). En cas d'erreur, un message sera affiché à la fin de la modification automatique des tables (paramètre "-error"). L'assistant de la modification automatique des tables ne se lancera pas. La sauvegarde des tables modifiées sera effectuée. Exemple:
    LanceAppli("C:\MonRépertoire\WDModFic.EXE -subdir -error " + ...
    	"/WDD=D:\MonApplication\MonAnalyse.WDD " + ...
    	"/DIR=C:\MesFichiersDeDonnées")
  • La ligne de commande suivante permet de reporter les modifications apportées dans le schéma des données "D:\MonApplication\MonAnalyse.WDD" sur la table "C:\MonFichierDeDonnées.FIC". Un message de succès ou d'erreur sera affiché à la fin de la modification automatique des tables (paramètre "-report"). L'assistant de la modification automatique des tables ne se lancera pas. La sauvegarde des tables modifiées ne sera pas effectuée (paramètre "-nobackup").
    LanceAppli("C:\MonRépertoire\WDModFic.EXE -report -nobackup " + ...
    	"/WDD=D:\MonApplication\MonAnalyse.WDD " + ...
    	"/FILE=C:\MonFichierDeDonnées.FIC")
  • Utilisation des noms longs: Lors de l'utilisation de noms longs, il est nécessaire de doubler les guillemets.
    La ligne de commande suivante permet de reporter les modifications apportées dans le schéma des données "D:\MonApplication WinDev\MonAnalyse.WDD" sur la table "C:\MonFichierDeDonnées.FIC". Un message de succès ou d'erreur sera affiché à la fin de la modification automatique des tables (paramètre "-report"). L'assistant de la modification automatique des tables ne se lancera pas. La sauvegarde des tables modifiées ne sera pas effectuée (paramètre "-nobackup").
    LanceAppli("""C:\MonRépertoire Appli\WDModFic.EXE -report -nobackup " + ...
    	"/WDD=D:\MonApplication WinDev\MonAnalyse.WDD " + ...
    	"/FILE=C:\MonFichierDeDonnées.FIC""")
  • Utilisation de WDModFic pour une base HFSQL Client/Serveur
    // Paramètres pour la modification automatique des tables
    // Répertoire qui contient WDModFic
    sRepertoireWDModFic is string = "C:\Program Files\WinDev 2024\Programs\"
    // Nom complet du WDD avec son chemin (ici dans le même répertoire)
    sNomCompletWDD is string = CompleteDir(fExeDir())+"MonAnalyse.wdd"
    // Utilisateur et mot de passe sur le serveur HFSQL
    // (avec les droits de faire la modification de structure des tables de données)
    sUtilisateur is string = "invité"
    sMotDePasse is string = ""
    // Adresse IP ou nom DNS de la machine qui héberge le serveur HFSQL
    sAdresseOuNomServeurHF is string = "NomMachine"
    // Port du serveur HFSQL
    nNumPortServeurHF is int = 4900
    // Nom de la base de données dans laquelle se trouvent les tables à modifier
    sNomBaseDeDonnées is string = "MonAnalyse"
    sLigneDeCommande is string
    // Construction de la ligne de commande 
    // Il suffit d'enlever /report pour ne pas avoir une boîte de dialogue à la fin
    sLigneDeCommande = StringBuild([
    	"%1WDModFic.exe" /WDD="%2" /SERVER="%3:%4@%5:%6/%7" -report
    	], CompleteDir(sRepertoireWDModFic), ...
    	sNomCompletWDD, sUtilisateur, ...
    	sMotDePasse, sAdresseOuNomServeurHF, ...
    	nNumPortServeurHF, sNomBaseDeDonnées)
    
    // Pour test il est possible d'afficher ici la ligne de commande
    // pour faire un contrôle visuel
    // //Info(sLigneDeCommande)
    // Lancement de la modification automatique en attendant la fin
    IF NOT ExeRun(sLigneDeCommande, exeActive, exeWait) THEN
    	// Échec du lancement, affichage de l'erreur
    	Error("Impossible d'exécuter la modification automatique des données: ", ErrorInfo(), ...
    		"Ligne de commande utilisée: ", sLigneDeCommande)
    ELSE
    	// Modification automatique exécutée
    END
  • Exemple utilisant des variables pour définir les différents chemins.
    RepModFic est une chaîne
    RepAnalyse est une chaîne
    RepData est une chaîne
    RepModFic = """C:\WinDev\Programs\WDModFic.EXE"""
    RepAnalyse = """C:\Mes Projets\CRM\Exe\CRM.wdd """
    RepData = """C:\Mes Projets\CRM\Exe\Data"""
    
    LanceAppli(RepModFic + " -subdir -nobackup -" + "/WDD=" + RepAnalyse + "/DIR=" + RepData, exeActif, exeBloquant)
Utilisation de WDModFic en mode interactif
L'assistant de WDModFic se lance si WDModFic est lancé:
  • en mode interactif:
    • sous le volet "Schéma des données", dans le groupe "Schéma des données", déroulez "Synchronisation" et sélectionnez "Synchronisation de la Structure et des Données Déployées (SDD, Modif Auto)" (depuis l'éditeur de schémas des données sur le poste de développement uniquement).
    • en exécutant directement le programme "WDModFic.EXE".
  • en mode ligne de commande avec le paramètre "-wizard".
Pour réaliser la modification automatique des tables à l'aide de l'assistant:
  1. Sélectionnez le schéma des données (fichier ".WDD") qui décrit la nouvelle structure des tables.
    Remarque: Si le schéma des données spécifié est protégé par un mot de passe en exécution, saisissez ce mot de passe.
  2. Sélectionnez les tables (tables ".FIC") à mettre à jour.
  3. Pour sauvegarder les tables avant d'exécuter la modification automatique, cochez l'option "Effectuez une sauvegarde avant modification" et sélectionnez le répertoire de sauvegarde.
  4. Pour spécifier ou modifier les mots de passe des différentes tables à mettre à jour, cochez l'option "Je veux saisir ou changer les mots de passe pour les nouvelles structures", sélectionnez les tables voulues et saisissez deux fois le mot de passe correspondant.
  5. Validez pour lancer la modification automatique.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 02/04/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale