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 :

Création BDD C/S par Code et ChangeRep [WD21]


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut Création BDD C/S par Code et ChangeRep
    Salut à tous,

    tout d'abord merci à ceux qui me liront


    Voila, je suis actuellement confronté à une problématique et avant de me dire que Windev ne l'autorise peut être pas je voulais vos avis.

    Actuellement je travaille dans un programme qui se connecte à différent fichier HFSQL Classic.

    Pour un soucis de taille de fichier et de rapidité d'accès, le concepteur du logiciel a mis en place une base de données par bureau.

    Le logiciel permet la gestion de plusieurs bureaux.

    Donc nous avons un logiciel dans lequel nous avons X bureaux et pour chaque bureau nous avons X fichiers HFSQL classic.

    Par la suite il y a une volonté de passer en HFSQL C/S.

    Le problème est le suivant. Le HCHANGEREP ne permet pas de donner un chemin absolu. Il faut être dans le même répertoire que celui de l'analyse.

    Mais si je reste dans le même répertoire que celui de l'analyse je reste dans la même base de données.

    Or le but ici aurait été d'avoir une base de donnée par bureau. Et lorsque le logiciel est lancé. Selon le bureau choisi on passe en paramètre la base de donnée ou il faut se connecter.


    Et lors de la création d'un nouveau bureau on aurait un code qui ressemblerait à celui la :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SI fRepExiste("\\SRVHFSQL\bdd"+ ["\"] + "BDDBYCODE") = Faux ALORS
    	SI PAS fRepCrée("\\SRVHFSQL\bdd\BDDBYCODE\") ALORS
    		Trace("Erreur de création" + ErreurInfo(errComplet))
    	FIN
    	HFermeConnexion(AncienneConnexion)
    	HChangeRep("*", "\\SRVHFSQL\bdd\BDDBYCODE\") // SAUF QUE CA CA NE FONCTIONNE PAS ^^
    	HCréationSiInexistant("*")
     
    FIN
    Y a t'il une solution? ou je passe à côté de qqch ?

    D'avance merci pour votre aide. J'espère avoir été le plus clair possible.

    Bon dev à tous
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    Bonjour,

    Je n'ai peut être pas tout compris, mais je ne vois pas l'intérêt de passer par HChangeRep(..) dès lors que vous utilisez un serveur HF C/S.

    Ce que je fais actuellement sur une application utilisant du HF Classic ou C/S, pour une connexion sur un serveur c'est un HOuvreConnexion(..) suivi d'un HChangeConnexion("*", maConnexion).

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    tout d'abord merci pour la réponse.

    En fait le but est de pouvoir créer une base de données dynamiquement.

    Dans le programme à chaque nouvelle création d'un bureau, il est important qu'il ait une base de donnée qui lui soit dédiée (uniquement à lui).

    Actuellement le programme le fait en HFSQL Classic ce qui ne pose aucun problème vu que ce ne sont que des fichiers fic dans des sous dossiers.

    En HFSQL C/S il n'y a pas de sous dossier dans une base de donnée.

    Ne sachant pas combien de bureau le client va gérer, il est préférable pour moi de trouver une solution qui lui permette de créer une base de donnée à chaque ouverture du bureau dans le programme.

    Vu que le HCHANGEREP ne permet pas le chemin absolu je ne peux remonter dans un nouveau répertoire via cette instruction.

    Je cherche donc une parade qui me permettrait de le faire.


    En espérant avoir été plus clair dans mes explications.

    D'avance merci.
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut Résolution du problème
    Finalement j'ai trouvé un moyen de contourner le problème.
    C'est autorisé par Windev , et ça répond au besoin du programme.



    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
    	HFermeConnexion(ServeurMCS)
     
    	MaConnexion est une Connexion 
    	// Description de la connexion 
    	MaConnexion..Utilisateur = "USER" 
    	MaConnexion..MotDePasse = "totototo" 
    	MaConnexion..Serveur = "SRV" 
    	MaConnexion..BaseDeDonnées = "BDDTEST" 
    	MaConnexion..Provider = hAccèsHFClientServeur 
    	MaConnexion..Accès = hOLectureEcriture 
    	MaConnexion..InfosEtendues = "Infos étendues" 
    	MaConnexion..OptionsCurseur = hCurseurClient 
     
    	HChangeRep("*",MaConnexion)
    	HCréationSiInexistant("*")

    et j'ai pile poil un sous répertoire pour faire ce qu'il me faut.

    il faut juste que je stocke les informations de connexion dans une table. Et que je lie à cette table l'id du bureau à ouvrir et le tour est joué.

    Tanxxx
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  5. #5
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Bonjour,
    Un sujet pareil existe dans le forum

    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
     
     
    cnxHF is Connection
    sDatabasePath is string
    sNewDatabase is string
    sAnalysisFile is string 
    sAnalysisFile = "C:\WinDev19\Exemples\Exemples complets\Gestion Commerciale\Gestion commerciale.wdd"
    //ouverture de l'analyse
    IF HOpenAnalysis(sAnalysisFile,"") = False THEN
    	Error(HErrorInfo())
    ELSE	
    	cnxHF..Provider = hAccessHFClientServer
    	cnxHF..Server = "MyServer"
    	cnxHF..Database = fExtractPath(sAnalysisFile,fFileName)
    	cnxHF..User = "admin"
    	cnxHF..Password = ""
    	//ouverture de la connexion
    	IF NOT HOpenConnection(cnxHF) THEN
    		Error(HErrorInfo(hErrFullDetails))
    	ELSE		
    		HChangeConnection("*",cnxHF)
    		HCreationIfNotFound("*")
    	END
    END
    END:	
    HCloseConnection(cnxHF)

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    Bonjour Tunizar après recherche je ne l'avais pas trouvé. Surement les mots clés que j'avais entré qui ne correspondaient pas.

    Merci pour tes éclaircissements et bonne continuation.
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un treeview par code VBA
    Par JiBen44 dans le forum VBA Word
    Réponses: 0
    Dernier message: 29/11/2011, 00h13
  2. [XL-2007] Crash excel lors de la création d'une macro par code
    Par miikado dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/11/2011, 18h47
  3. [SP-2010] création d'une balises par code
    Par Padawansr dans le forum SharePoint
    Réponses: 0
    Dernier message: 10/08/2011, 15h55
  4. [XL-MAC 2004] Création Commentaires cellules auto par code
    Par patyom dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/01/2010, 10h14
  5. Création de table par code
    Par lerico dans le forum Access
    Réponses: 5
    Dernier message: 18/07/2006, 14h09

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