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 :

Connexion HF C/S et HF Classic [WD16]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut Connexion HF C/S et HF Classic
    Bonsoir,

    Dans mon application, je souhaite que l'on puisse utiliser une base de données locale en HF Classic ou alors serveur en HF C/S.

    J'ai donc créer une procédure que voici :

    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
     
    HGèreREP(Faux)
     
    SI Config_BDD:p_Mode = 1 ALORS
    	// CONNEXION A LA BASE DE DONNEES HYPERFILESQL CLASSIC (LOCALE)
    	fRepCrée(Config_Donnees:p_Dossier_Local + "\Donnees")
    	HChangeRep("*", Config_Donnees:p_Dossier_Local + "\Donnees")
    SINON
    	// CONNEXION A LA BASE DE DONNEES HYPERFILESQL C/S (SERVEUR)
    	Connexion_HFSQL..Provider = hAccèsHFClientServeur
    	Connexion_HFSQL..Utilisateur = Config_BDD:p_Utilisateur
    	Connexion_HFSQL..MotDePasse = Config_BDD:p_Motdepasse
    	Connexion_HFSQL..Serveur = Config_BDD:p_Serveur + ":" + Config_BDD:p_Port
    	Connexion_HFSQL..BaseDeDonnées = Config_BDD:p_Base
    	Connexion_HFSQL..Cryptage = hCryptageStandard
     
    	HOuvreConnexion(Connexion_HFSQL)
    	HChangeConnexion("*", Connexion_HFSQL)
    FIN
     
    // CREATION DES FICHIERS DE DONNEES
    HCréationSiInexistant("*")
    Par défaut, au premier lancement l'application utilise HF Classic et crée donc les fichiers de données en locale. Tout est ok à ce stade !

    Ça coince au moment de changer l'accès en HF C/S et j'ai une erreur sur HCréationSiInexistant("*") que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Erreur à la ligne 35 du traitement Procédure globale BDD_Connexion.
    Vous avez appelé la fonction HCréationSiInexistant.
    Erreur renvoyée par le serveur <Damien-7.lan:4900> :
    Vous avez spécifié le chemin <C:\ProgramData\Applications WinDev\MON_APPLI_XXX\Donnees\> dans l'analyse ou via un HChangeRep. L'utilisation d'un chemin absolu est interdit. Vous devez spécifier un chemin relatif à la base de données <RU-Gestion-XXX>.
    Cette procédure est lancé au démarrage de l'application sans soucis mais lorsque je souhaite changer "à la volée" l'accès à la base de données, bim erreur

    Une idée svp ?

    Merci !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonsoir
    Avant de changer de conexion, teste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI HOuvreConnexion(Connexion_HFSQL) = Vrai ALORS
        INFO("OK")
    SINON
        HErreurInfo()
    FIN

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai testé, et j'ai OK... Donc ça ne viens pas de la ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Je me souviens avoir eu le même problème et le résoudre en fermant la conexion antérieure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HFermeConnexion(sConexion)

  5. #5
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Le soucis, c'est que je ne suis pas encore connecté...

    J'ai fait les tests dans le sens Classic > C/S

    EDIT : Je viens d'essayer un HFermeConnexion(Connexion_HFSQL) tout en haut dans mon code et j'ai toujours le souci

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonsoir

    J'ai survolé vite fait le message mais essaye de faire une annulation du HChangeRep quand tu passes en C/S

  7. #7
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    D'accord, j'essai ca demain et je vous tiens au courant.

    Bonne soiree

  8. #8
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Re

    Je viens de faire un test vite fait avec une base HF C/S qui contient un fichier "Article". J'ai le même fichier en HF Classic mais qui ne contient pas le même nombre d'enregistrements (pour le test)

    Je teste à partir de 2 boutons :

    Bouton 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    HFermeConnexion(gcnxHFCS)
    HChangeConnexion("*","")
    HChangeRep("*", fRepExe() + "\fic")
    Info(HNbEnr(Article))
    Bouton 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    gcnxHFCS..Provider = hAccèsHFClientServeur
    gcnxHFCS..Serveur = "localhost"
    gcnxHFCS..Utilisateur = "admin"
    gcnxHFCS..MotDePasse = "monmotdepasse"
    gcnxHFCS..BaseDeDonnées = "MaBase"
     
    HChangeRep("*","")
    HChangeConnexion("*",gcnxHFCS)
    SI HOuvreConnexion(gcnxHFCS) ALORS
    	Info(HNbEnr(Article))
    SINON
    	Erreur(HErreurInfo())
    FIN
    En complément de mon message précédent il faut ajouter HChangeConnexion("*","") lorsque tu actives l'accès HF Classic

    Je passe de l'un à l'autre sans problème

  9. #9
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonjour,

    D'accord, donc il faut "désactiver" l'ancien mode avant de passé à l'autre en fait

    Merci pour ton aide hpascal

  10. #10
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    A noter que pour l'exemple j'ai mis les propriétés de la connexion HF C/S (globale) dans le bouton mais il faut le faire ailleurs et une seule fois

  11. #11
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Je l'ai une seule fois dans ma procédure BDD_Connexion mais la connexion est déclarée dans le code du projet.

    EDIT : Ca fonctionne nikel ! Merci

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 10/03/2015, 21h39
  2. [WD14] Migration HF Classic en C/S : connexion impossible
    Par heiti dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 04/08/2009, 21h06
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. Connexion ODBC
    Par Anonymous dans le forum Réseau
    Réponses: 2
    Dernier message: 23/04/2002, 12h10
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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