IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Point sur les connexions et modifications automatiques des fichiers HF


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut Point sur les connexions et modifications automatiques des fichiers HF
    Bonjour,

    Je voudrais faire un point avec des personnes étant dans une situation proche de la mienne.

    J'ai pour le moment une application qui contient une analyse. La connexion "cnx_BDD" est décrite dans l'analyse Je ne la modifie pas par le code.
    La modification automatique des données fonctionne donc correctement, parce qu'elle attaque directement la base décrite dans l'analyse. Cette connexion ne change pas.

    Je dois maintenant partager cette analyse avec une autre application, et j'ai besoin de conseils pour le faire.

    La nouvelle application travaille sur une base nommée différemment de l'ancienne, sur un serveur et un port différent.

    Nous montons également un site web sur cette analyse. Le site doit pouvoir se connecter à plusieurs serveurs/bases, et toujours travailler avec cette analyse.

    Je pense que le mieux est de changer la connexion des fichiers à la main, par selon des paramètres stockés dans un .ini.
    Par contre, je ne sais pas comment m'assurer que les structures des fichiers sont bien à jour.

    Que pensez-vous d'un lancement du WDModFic sur la base quand je détecte que la structure a changé ?

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Bowen,

    Je procède de la façon suivante :

    1°) Connexion à la base en manuel pour verifier les infos correctes de l'utilisateur
    2°) Modification automatique des données sur la base
    3°) Si ok Je change de connexion

    Ci dessous ma procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    PROCEDURE Connection_HF_CS()
     
    //serveur HyperFile C/S
    gs_NomServeur est une chaîne				// Nom du serveur
    gn_NumPort est un entier					// N° Port serveur
    gs_NomBase est une chaîne					// Nom de la base de données
     
    nIdFic est un entier
    sMaChaîne est une chaîne
    Tab_param est un tableau de 1 par 3 chaîne
    nLigne est un entier 
     
    // Ouverture du fichier parametres de la connexion
    nIdFic = fOuvre(SysRep(srAppData)+"\connection.txt", foLectureEcriture)
    SI nIdFic=-1 ALORS
    	Erreur("L'ouverture du fichier a échoué", ErreurInfo())
    SINON
    	// Première ligne
     
    	sMaChaîne = fLitLigne(nIdFic)
    	TANTQUE sMaChaîne<>EOT
    		// Traitement de la ligne lue
     
    		nLigne++
    		Tab_param[1,nLigne]=sMaChaîne
    		// Ligne suivante
    		sMaChaîne = fLitLigne(nIdFic)
    	FIN
     
    	// Fermeture du fichier
    	fFerme(nIdFic)
    FIN
    gs_NomServeur=Tab_param[1,1]
    gn_NumPort=Tab_param[1,2]
    gs_NomBase=Tab_param[1,3]
     
    sRepertoireWDModFic est une chaîne=fRepEnCours()+"\Outils\"
     
    //Nom complet du WDD avec son chemin
    sNomCompletWDD est une chaîne=fRepEnCours()+"\Outils\MonAppli.wdd"
     
    //Utilisateur et mot de passe sur le serveur Hyper File (avec les droits de faire la modification de structure des fichiers)
     
    sMotDePasse est une chaîne=gsPassword
     
     
    //Adresse IP ou non DNS de la machine qui heberge le serveur Hyper File
    sAdresseOuNomServeurHF est une chaîne=gs_NomServeur
     
     
    //Port du serveur Hyper File
    nNumPortServeurHF est un entier=gn_NumPort
     
    //Nom de la base de donnees dans laquelle se trouve les fichiers à modifier
    sNomBaseDeDonnees est une chaîne=gs_NomBase
     
    sLigneDeCommande est une chaîne
     
    //Construction de la ligne de commande (il suffit d enlever /report pour ne pas avoir une boite de dialogue à la fin)
     
    sLigneDeCommande=ChaîneConstruit([
    "%1WDModFic.exe" [-error] [-nobackup] /WDD="%2" /PWD="motdepasse"/SERVER=%3:%4@%5:%6/%7 
    ],ComplèteRep(sRepertoireWDModFic),sNomCompletWDD, gsUser, sMotDePasse, sAdresseOuNomServeurHF, nNumPortServeurHF, sNomBaseDeDonnees)
     
    //Pour test il est possible d afficher la ligne de commande
    //Info(sLigneDeCommande)
     
    // Ouvrir la connexion pour test base presente ou infos ok
    Changer_connexion(sMotDePasse,sAdresseOuNomServeurHF,sNomBaseDeDonnees)
     
    SI bConnecte=Faux ALORS
    	TitreSuivant("La connexion au serveur a échoué!")
    	Erreur("Vérifier la connexion réseau, le nom d'utilisateur ou le mot de passe!")
    	FinProgramme()
    FIN
     
    //Lancement de la modification automatique en attendant la fin
    SI PAS LanceAppli(sLigneDeCommande,exeActif,exeBloquant) ALORS
    	//Echec du lancement, affichage de l erreur
    	Erreur("Impossible d executer la modification automatique des donnees : ",ErreurInfo(),"Ligne de commande utilisee : ",sLigneDeCommande)
    	FinProgramme()
    SINON
    	//Modification automatique executee
    	Changer_connexion(sMotDePasse,sAdresseOuNomServeurHF,sNomBaseDeDonnees)
    FIN
    Espérant t'avoir aidé...

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Merci, ça m'aide bien, ça me donne une bonne base même si tout n'est sûrement pas identique entre nos situations.
    Encore trois questions :

    1. Je vois que tu lances le WDModFic systématiquement. As-tu (ou quelqu'un a-t-il) tenté de ne le lancer que lorsque l'analyse ne correspond pas aux fichiers physiques ?
    2. Tu n'embarques que le fichier MonAppli.wdd ou bien il faut le faire suivre d'autres fichiers de l'analyse (notamment si on a des procédures et requêtes stockées) ?
    3. Y-a-til moyen de lancer le WDModFic à partir de l'analyse contenue dans l'exe directement (l'analyse est dans l'exe, puisque le "états et requêtes" sait le lire) ?

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Bowen,

    1°) Le wdmodif n'est pas executé systématiquement, si l'analyse MonAppli.wdd correspond à la structure des données tu ne saura meme pas que WDModif a été lancé!

    2°) Il va de soit que je fournis pendant l'installation l'analyse + les fichiers necessaires à WDModif. Par ailleurs je n'utilise pas l'installeur WD.

    Tiré de l'aide WD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Fichiers nécessaires
     
     
     
    Pour exécuter WDMODFIC sur un poste client, les fichiers suivants sont nécessaires : 
     
     WD120CPL.DLL
     
     WD120HF.DLL
     
     WD120OBJ.DLL
     
     WD120Outil.wdk
     
     WD120STD.DLL
     
     WD120TRS.DLL (nécessaire uniquement si les fichiers sont répliqués)
     
     WD120VM.DLL
     
     WDMod120.DLL
     
     WDModFic.Exe
     
     WD120MAT.DLL
     
     WD120IMG.DLL (nécessaire uniquement lors d'un lancement en mode interactif ou lors de l'affichage des fenêtres de WDModFic) 
     
     WD120PRN.DLL (nécessaire pour l'impression
    3°) Je ne saurais répondre mais je pense qu'elle se trouve dans la bibliothèque WDL mais ne vois pas comment la récuperer

    Bon DEV

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Heu non, j'ai du mal m'exprimer...
    Pour la question 2 c'était : il y a plein de fichiers dans le dossier de l'analyse, sous C:\Mes Projets\MonProjet\MonProjet.ana\
    Dedans, il y a bien sûr MonProjet.wdd, mais aussi plein d'autres fichiers (style : MonProjet.wdd, dont tu te sers. Mais y a-t-il d'autres fichiers à inclure (par exemple le .wda, le répertoire code, etc) ou bien le .wdd seul suffit ?

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Autant pour moi Bowen ,
    Il ný a juste que l'analyse MonProjet.wdd à inclure

    J'ai pour habitude de mettre un dossier Outils dans mon appli, qui contient et l'analyse et les appli redistribuable de PCSoft avec leur dll, style :
    WDOptimiseur, WDModif...



Discussions similaires

  1. Ajustements apportés au calcul des points sur les votes
    Par Anomaly dans le forum Evolutions du club
    Réponses: 25
    Dernier message: 21/03/2012, 17h53
  2. taille des points sur les plots
    Par mitmit dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 13/03/2008, 13h23
  3. Réponses: 4
    Dernier message: 01/08/2007, 17h22
  4. Récupérer des informations sur les connexions réseau
    Par Leobaillard dans le forum Delphi
    Réponses: 8
    Dernier message: 31/08/2006, 01h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo