PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → [WM14] Changement de connexion
[WM14] Changement de connexion
Iniciado por Jean Cazaux, 10,nov. 2009 11:21 - 4 respuestas
Publicado el 10,noviembre 2009 - 11:21
Mon problème se trouve dans le changement de connexion entre des fichier .FIC se trouvant à côté de l'éxécutable (BDD locale) et des fichers .FIC se trouvant sur un serveur HF C/S (BDD distante).

Dans mon annalyse mes fichiers de BDD sont décrits avec un type HperFileSQl Classic (ceci est une contrainte car l'analyse est partagée entre différents projets)

L'enchainement d'action ci-dessous provoque une erreure :
- connexion à la BDD distante (tout se passe bien je peut manipuler les données)
- ensuite connexion à la BDD locale (là aussi tout se passe bien)
- reconnexion à la BDD distante (là le programme plante dès qu'on fait un accès aux données de la BDD)



Le message d'erreur est le suivant :

Impossible d'ouvrir le fichier <BDDTest\localhost:4900\BDDTEST.FIC>.
Le fichier n'a été trouvé ni sur disque, ni dans les bibliothèques (.WDL) ou les composants (.WDK) chargés.


Note : si l'analyse est décrite avec des fichiers HF clients/serveur cette erreure n'apparait pas mais pour des raisons pratiques j'aimerai rester avec une analyse de fichier HF classic !
Publicado el 24,noviembre 2009 - 23:36
Tout d'abord Bonjour !

Pouvez-vous nous montrer votre code de connexion ?

Cdt.
Publicado el 30,noviembre 2009 - 17:44
Mon code de connexion :

SI connexion_type = "locale" ALORS
VG_CONNEXION..Utilisateur = XXX
VG_CONNEXION..MotDePasse = XXX
VG_CONNEXION..Serveur = XXX
VG_CONNEXION..BaseDeDonnées = XXX
VG_CONNEXION..Provider = hAccèsHF7
SI PAS HOuvreConnexion(VG_CONNEXION) ALORS RENVOYER Faux
SI PAS HChangeConnexion("*",VG_CONNEXION) ALORS RENVOYER Faux
VG_MODE_CONNECTE = Faux
SINON
VG_CONNEXION..Utilisateur = XXX
VG_CONNEXION..MotDePasse = XXX
VG_CONNEXION..Serveur = XXX
VG_CONNEXION..BaseDeDonnées = XXX
VG_CONNEXION..Provider = hAccèsHFClientServeur
SI PAS HOuvreConnexion(VG_CONNEXION) ALORS RENVOYER Faux
SI PAS HChangeConnexion("*",VG_CONNEXION) ALORS RENVOYER Faux
FIN


PS : toute mes excuses pour l'oubli du bonjour ;)
Publicado el 30,noviembre 2009 - 18:14
Bonjour Jean

Il me semble qu'il manque le code de DECONNEXION à la base distante, ce
qui fait qu'une deuxième tentative de connexion ne passe pas... je crois
me souvenir avoir eu un problème similaire ...

Cordialement

--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html


Jean Cazaux wrote:
Mon code de connexion :

SI connexion_type = "locale" ALORS
VG_CONNEXION..Utilisateur = XXX
VG_CONNEXION..MotDePasse = XXX
VG_CONNEXION..Serveur = XXX
VG_CONNEXION..BaseDeDonnées = XXX
VG_CONNEXION..Provider = hAccèsHF7
SI PAS HOuvreConnexion(VG_CONNEXION) ALORS RENVOYER Faux
SI PAS HChangeConnexion("*",VG_CONNEXION) ALORS RENVOYER Faux
VG_MODE_CONNECTE = Faux
SINON
VG_CONNEXION..Utilisateur = XXX
VG_CONNEXION..MotDePasse = XXX
VG_CONNEXION..Serveur = XXX
VG_CONNEXION..BaseDeDonnées = XXX
VG_CONNEXION..Provider = hAccèsHFClientServeur
SI PAS HOuvreConnexion(VG_CONNEXION) ALORS RENVOYER Faux
SI PAS HChangeConnexion("*",VG_CONNEXION) ALORS RENVOYER Faux
FIN


PS : toute mes excuses pour l'oubli du bonjour ;)
Publicado el 30,noviembre 2009 - 18:51
Bonjour,

Je pense que c'est un problème de HChangeConnexion.

Voici l'exemple de l'aide pour passer d'un SQL Server à Oracle:

// Décrire la nouvelle connexion
HDécritConnexion ("MaConnexion", "", "",...
"Serveur_SQLServer", "dbo", hOledbSQLServer, hOLectureEcriture, "")
// Ouvrir la nouvelle connexion
HOuvreConnexion("MaConnexion")
// Indiquer que "Salaires" utilise la nouvelle connexion
HChangeConnexion("salaires", "MaConnexion")
// commencer le parcours de la table "salaires" sur SQLServer
HLitPremier("salaires")
...
// Fermer la connexion
HFermeConnexion("salaire")
// Rétablir l'utilisation de la connexion sur Oracle
HChangeConnexion("salaires", "")
//ouvrir la table "salaires" sur Oracle
HOuvre("salaires")