PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Changement de connexion GPW utilisateur CSHFSQL>>LOCAL
Changement de connexion GPW utilisateur CSHFSQL>>LOCAL
Débuté par Laurent AUCOUTURIER, 27 juin 2016 08:32 - 4 réponses
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 27 juin 2016 - 08:32
Bonjour à tous
Je pense ne pas être le seul à avoir besoin de réponse sur ce sujet mais je bloque. Rien ne fonctionne.
Voici le contexte.
Je souhaite lancer manuellement le GPW utilisateur au début de l'application en se connectant sur un CS/HFSQL puis vérifier les droits (notamment si c'est un superviseur) puis de copier les fichiers du GPW sur le poste local afin de s'y connecter ensuite et éviter les aller retour vers le serveur.
J'ai donc créé 2 connexions, une locale une client serveur et je réalise lance le code suivant:

gcnxMaconnexionGPW est une connexion
gcnxMaconnexionGPW..Provider=hAccèsHFClientServeur
gcnxMaconnexionGPW..Accès=hOLectureEcriture
gcnxMaconnexionGPW..BaseDeDonnées="MABASEDD"
gcnxMaconnexionGPW..MotDePasse="MONMOTDEPASSE"
gcnxMaconnexionGPW..Serveur="MONSERVEUR.COM"
gcnxMaconnexionGPW..Utilisateur="USER1"

gpwOuvreConnexion(Gpw_TestGDSImport)

nRes est un entier = gpwOuvre(Gpw_TestGDSImport)


SI nRes <> gpwOk ALORS
SELON nRes
CAS gpwErreur : Erreur("Erreur à l'initialisation du groupware.")
CAS gpwUtilisateurInconnu : Erreur("Utilisateur inconnu.")
CAS gpwMotPasseInvalide : Erreur("Mot de passe invalide.")
FIN
FinProgramme()
SINON

HFermeConnexion(Gpw_TestGDSImport)

SI ExécuteTraitement(BTN_Copie_des_fichier_du_serveur_vers_le_local,trtClic)=Vrai ALORS ToastAffiche("Copie")
SI gpwOuvreConnexion(gcnxMaconnexionlocal,"","",fRepEnCours()+".\Gpw_TestGDSImport\","",hAccèsHF7)=Vrai ALORS ToastAffiche("Changement de connexion")
Utilise(FEN_SansNom2)
FIN


Mais si ensuite je déconnecte la liaison au CS/HFSQL (internet) le programme bloque.
En fait il reste connecté à la connexion CS/HFSQL
J'ai aussi essayé avec :
gpwOuvreConnexion(MaConnexion1)

HChangeConnexion("GPU_Cible.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Configuration.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Configuration_Element.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Element.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Groupe.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_HistoriqueConnexion.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Utilisateur.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_Utilisateur_Groupe.fic","gcnxMaconnexionlocal")
HChangeConnexion("GPU_UtilisateurMDP.fic","gcnxMaconnexionlocal")

Ouvre(FEN_SansNom2)


Mais là encore pas de message d'erreur mais la connexion locale en cours d'exécution de l'application ne se réalise pas.

Si quelqu'un à déjà réalisé ce genre de truc je serais ravi de pouvoir profiter de votre expérience.
Bien sur le GPW Utilisateur est paramétré en automatique avec lancement manuel.
Bien cordialement à tous les contributeur.
Laurent.
Membre enregistré
1 934 messages
Popularité : +53 (65 votes)
Posté le 27 juin 2016 - 09:39
Bonjour,

Il me semble qu'il y a une erreur dans la fonction :
gpwOuvreConnexion(gcnxMaconnexionlocal,"","",fRepEnCours()+".\Gpw_TestGDSImport\","",hAccèsHF7)

qui devrait s'écrire :
gpwOuvreConnexion(gcnxMaconnexionlocal,"","",fRepEnCours()+"\Gpw_TestGDSImport\","",hAccèsHF7)


--
Bon dev,
Jean-Pierre
Membre enregistré
1 934 messages
Popularité : +53 (65 votes)
Posté le 27 juin 2016 - 09:49
Rebonjour,

Je vous conseille de respecter la syntaxe (test du code erreur) :
SI gpwOuvreConnexion("gpwCx", "Test", "MotPasse", "", "", hAccèsHF7) = Faux ALORS
Erreur(ErreurInfo())
SINON
ToastAffiche("Changement de connexion")
FIN


--
Bon dev,
Jean-Pierre
Message modifié, 27 juin 2016 - 09:49
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 27 juin 2016 - 11:57
Merci pour ces conseils mais j'ai essayé le code suivant :
/////////////////////// connexion au serveur HFSQL ///////////////////////////
gpwOuvreConnexion(Gpw_TestGDSImport)

nRes est un entier = gpwOuvre(Gpw_TestGDSImport)

SI nRes <> gpwOk ALORS
SELON nRes
CAS gpwErreur : Erreur("Erreur à l'initialisation du groupware.")
CAS gpwUtilisateurInconnu : Erreur("Utilisateur inconnu.")
CAS gpwMotPasseInvalide : Erreur("Mot de passe invalide.")
FIN
FinProgramme()
SINON
ToastAffiche("Connexion réseau")

FIN
////////////////// copie des fichiers /////////////////////////////////////////////////////////////////
SI fRépertoireExiste(fRepEnCours()+"\Gpw_TestGDSImport\")=Faux ALORS
fRepCrée(fRepEnCours()+"\Gpw_TestGDSImport\")
FIN
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Cible.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Cible.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Cible.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Cible.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Configuration.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Configuration.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Configuration_Element.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Configuration_Element.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Element.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Element.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Groupe.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Groupe.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_HistoriqueConnexion.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_HistoriqueConnexion.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Options.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Options.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Utilisateur.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Utilisateur.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_Utilisateur_Groupe.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_Utilisateur_Groupe.fic",hCopieIndex)
HCopieFichier("", fRepEnCours()+"\Gpw_TestGDSImport\GPU_UtilisateurMDP.fic", "Gpw_TestGDSImport", ".\Gpw_TestGDSImport\GPU_UtilisateurMDP.fic",hCopieIndex)
/////////////////: Deconnextion du serveur HFSQL et Connexion en local ////////////////////////////////////
HFermeConnexion(Gpw_TestGDSImport)
SI gpwOuvreConnexion("gcnxMaconnexionlocal","", "", "", "", hAccèsHF7) = Faux ALORS
Erreur(ErreurInfo(errComplet))
SINON
ToastAffiche("Changement de connexion")
FIN


Les fichiers sont bien copiés dans le répertoire local.
Le problème c'est que j'ai un message d'erreur lors de la connexion locale mais le message dit: "Code Erreur 0, Niveau: pas d'erreur"
C'est à ne rien y comprendre.

Et bien ma demande d'aide reste toujours active !
Qui dit mieux ?
Cordialement.
Laurent.
Membre enregistré
1 934 messages
Popularité : +53 (65 votes)
Posté le 27 juin 2016 - 15:32
Bonjour,

Commencez par tester systématiquement le code retour de TOUTES les fonctions.

--
Bon dev,
Jean-Pierre