Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[W10] question sur les connections (suite)

6 réponses
Avatar
phab
bonjour
j'ai suivi avec grand interet la conversation d'Eric
sur les connections et j'ai mis en ouvre la solution de nwjb
à savoir

gnRes=HDécritConnexion("gcCCAM","...","KKKK",gsServeur,"","OraOLEDB.Oracle")
SI PAS gnRes ALORS Erreur("hdécrit CCAM"+HErreurInfo())
gnRes=HOuvreConnexion("gcCCAM")
SI PAS gnRes ALORS Erreur("houvre CCAM"+HErreurInfo())
gnRes=HChangeConnexion("*","gcCCAM")
SI PAS gnRes ALORS Erreur("hchangecnx CCAM"+HErreurInfo())


sachant que je travail avec un serveur mysql en local(easyphp 1.7)

bon le test de connection fonctionne mais n'est pas fiable

si je laisse en route mysql en local et que je me connecte sur mysql de
mon hebergeur c'est toujours le local qui est pris en compte pour les bases

comment résoudre ce probléme
en sachant que par la suite je souhaite synchroniser le local et
l'hebergeur (donc pas question de couper le local)

le mecanisme de mon application

dans l'ini du projet j'ouvre une fenetre de saisies de connection
sur ok je lance la fenetre (Menu)(1ere fenetre appli) je teste la
connection à l'initialisation la fenetre (Menu)

HFermeConnexion(MaConnexion)

gnRes=HDécritConnexion(Maconnection,gnuser,gnpwd,gsServeur,gsdb,hAccèsNatifMySQL)
Info(gnuser+ gnpwd+ gsServeur+ gsdb)
SI PAS gnRes ALORS
Erreur("Defaut Hdécrit "+RC+Maconnection+RC+HErreurInfo())
Ferme(Menu)
FIN

gnRes=HOuvreConnexion(Maconnection)
SI PAS gnRes ALORS
Erreur("Défaut fonction Houvre "+RC+Maconnection+RC+HErreurInfo())
Ferme(Menu)
FIN

merci de vos remarque et aides

Cordialement
phab

6 réponses

Avatar
Firetox
Bonjour,

le probleme est : est ce que l'acces natif accepte 2 connexion simultannées
sur deux serveurs differents
jusqu'a la version 5 de mySQL c'etait impossible. donc si l'acces ne
s'appuie pas sur la libmySQL de la version 5 votre connexion au local sera
coupee quant meme. la lib mysql jusqu'a la 5 n'est capable de gerer qu'un
seul contexte MySQL donc si vous faite deux connexions differentes les deux
pointeront sur la derniere. faites un test avec cela et deux select avec des
base differentes vous allez avoir le meme resultat

il faut donc que l'acces accepte plusieurs contexte. avant toute chose il
faut se renseigné la dessus

Bon dev
@+
"phab" a écrit dans le message de news:
442277e3$0$13219$
bonjour
j'ai suivi avec grand interet la conversation d'Eric
sur les connections et j'ai mis en ouvre la solution de nwjb
à savoir

gnRes=HDécritConnexion("gcCCAM","...","KKKK",gsServeur,"","OraOLEDB.Oracle")
SI PAS gnRes ALORS Erreur("hdécrit CCAM"+HErreurInfo())
gnRes=HOuvreConnexion("gcCCAM")
SI PAS gnRes ALORS Erreur("houvre CCAM"+HErreurInfo())
gnRes=HChangeConnexion("*","gcCCAM")
SI PAS gnRes ALORS Erreur("hchangecnx CCAM"+HErreurInfo())


sachant que je travail avec un serveur mysql en local(easyphp 1.7)

bon le test de connection fonctionne mais n'est pas fiable

si je laisse en route mysql en local et que je me connecte sur mysql de
mon hebergeur c'est toujours le local qui est pris en compte pour les
bases

comment résoudre ce probléme
en sachant que par la suite je souhaite synchroniser le local et
l'hebergeur (donc pas question de couper le local)

le mecanisme de mon application

dans l'ini du projet j'ouvre une fenetre de saisies de connection
sur ok je lance la fenetre (Menu)(1ere fenetre appli) je teste la
connection à l'initialisation la fenetre (Menu)

HFermeConnexion(MaConnexion)

gnRes=HDécritConnexion(Maconnection,gnuser,gnpwd,gsServeur,gsdb,hAccèsNatifMySQL)
Info(gnuser+ gnpwd+ gsServeur+ gsdb)
SI PAS gnRes ALORS
Erreur("Defaut Hdécrit "+RC+Maconnection+RC+HErreurInfo())
Ferme(Menu) FIN

gnRes=HOuvreConnexion(Maconnection)
SI PAS gnRes ALORS
Erreur("Défaut fonction Houvre "+RC+Maconnection+RC+HErreurInfo())
Ferme(Menu)
FIN

merci de vos remarque et aides

Cordialement
phab


Avatar
phab
merci Firetox
bien que ma version mysql local soit une 4.0.15
je ne comprends pas comme un client tel que Mysqlfront 3.1 ou 3.2
puisse se connecter à mon serveur mysql local et à mon serveur mysql
hebergeur et non l'application que j'ai créer
ce qui ne géne le plus c'est que meme si je demande de me connecter sur
l'hebergeur alors que mon local est en fonction il prend par défaut la
connection "local" celle-la meme declarer dans l'analyse à quoi bon
faire un HDécritConnexion et Houvre si ce n'est pas respecter !

je ne vois pas comment remédier au probléme

cordialement
Phab



Firetox a écrit :

Bonjour,

le probleme est : est ce que l'acces natif accepte 2 connexion simultannées
sur deux serveurs differents
jusqu'a la version 5 de mySQL c'etait impossible. donc si l'acces ne
s'appuie pas sur la libmySQL de la version 5 votre connexion au local sera
coupee quant meme. la lib mysql jusqu'a la 5 n'est capable de gerer qu'un
seul contexte MySQL donc si vous faite deux connexions differentes les deux
pointeront sur la derniere. faites un test avec cela et deux select avec des
base differentes vous allez avoir le meme resultat

il faut donc que l'acces accepte plusieurs contexte. avant toute chose il
faut se renseigné la dessus

Bon dev
@+




Avatar
Firetox
En fait mysqlFront ou n'importe quel programme en C++ n'aura pas ce probleme
car il ne s'appuie pas sur la dll libmySQL.dll mais integre directement les
api mysql par l'intermediaire de la lib ou libmySQL.lib. et la il n'y a
aucun probleme a creer des contexte differents.

le probleme vient uniquement de la dll et de windows. en fait quant on fait
un charge dll une instance est creer. mais windows reutilise le pointeur des
qu'on essaye de charge une nouvelle fois la dll. j'ai eu ce probleme avec la
dll SQLite. en creant l'acces SQLite4WD j'ai creer une dll . le meme
probleme se presente alors : la solution est de creer une autre dll . mais
le probleme avec l'acces mySQL c'est la dll libmySQL qu'on ne peut pas
renomer donc on a toujours le probleme.

en version 5 la dll libMySQL.dll est capable de gerer plusieurs contexte on
lui passe un parametre qui permet d'identiier le contexte qu'on utilise.

en c++ on integre la lib dans le programme et donc on peut gerer plusieurs
contexte en gerant plusieurs pointeurs sur la lib mais ce n'est pas possible
avec une dll puisqu'il n'y a qu'un seul point d'entree. il faudrait pourvoir
lui specifier qu'on veut un autre pointeur (ce qui est fait en version 5)

en fait pour votre probleme il y a deux solution :
une consiste a demander au service technique de pcsoft que l'acces natif
soit capable de gerer plusieurs contextes

la seconde mais la programmation n'est plus la meme est d'utiliser l'acces
alter natif mySQL4WD qui dans sa version 2 permet de gerer plusieurs
contextes en fait en instanciant un objet de la classe d'acces natif on lui
specifie un n° de contexte. nous pouvons ainsi avoir plusieurs contextes.

Firetox
www.SQLManagerX.com

"phab" a écrit dans le message de news:
4422cb01$0$13229$
merci Firetox
bien que ma version mysql local soit une 4.0.15
je ne comprends pas comme un client tel que Mysqlfront 3.1 ou 3.2
puisse se connecter à mon serveur mysql local et à mon serveur mysql
hebergeur et non l'application que j'ai créer
ce qui ne géne le plus c'est que meme si je demande de me connecter sur
l'hebergeur alors que mon local est en fonction il prend par défaut la
connection "local" celle-la meme declarer dans l'analyse à quoi bon faire
un HDécritConnexion et Houvre si ce n'est pas respecter !

je ne vois pas comment remédier au probléme

cordialement
Phab



Firetox a écrit :

Bonjour,

le probleme est : est ce que l'acces natif accepte 2 connexion
simultannées sur deux serveurs differents
jusqu'a la version 5 de mySQL c'etait impossible. donc si l'acces ne
s'appuie pas sur la libmySQL de la version 5 votre connexion au local
sera coupee quant meme. la lib mysql jusqu'a la 5 n'est capable de gerer
qu'un seul contexte MySQL donc si vous faite deux connexions differentes
les deux pointeront sur la derniere. faites un test avec cela et deux
select avec des base differentes vous allez avoir le meme resultat

il faut donc que l'acces accepte plusieurs contexte. avant toute chose il
faut se renseigné la dessus

Bon dev
@+






Avatar
phab
Merci encore pour ces explications
je n'avais pas capter l'incident de l'accés natif mysql de W10
bon je pense que la solution pcsoft est à laisser de coté

en ce qui concerne votre solution

cela necessite de réécrire tout le programme?

j'ai téléchargé la derniére version "mySQL4WD-2.0.0.01.zip"
l'ai ouverte avec W10 et lors du lancement du test j'ai 2 warning

Warning 1

WDTST.exe-Point d'entréé introuvable
"le point d'entrée de procédure mysql_thread_end est introuvable dans la
bibliothéque de liaison dynamique LIBMYSQL.DLL

Warning 2
mySQl4WD.DLL introvable ou probléme d'initialisation de cette librairie


pourtant j'ai placé les 2 dll dans WINxxSYSTEM32.

bon ?

cordialement
phab

ps : nous pouvons nou tutoyer!


Firetox a écrit :
En fait mysqlFront ou n'importe quel programme en C++ n'aura pas ce probleme
car il ne s'appuie pas sur la dll libmySQL.dll mais integre directement les
api mysql par l'intermediaire de la lib ou libmySQL.lib. et la il n'y a
aucun probleme a creer des contexte differents.

le probleme vient uniquement de la dll et de windows. en fait quant on fait
un charge dll une instance est creer. mais windows reutilise le pointeur des
qu'on essaye de charge une nouvelle fois la dll. j'ai eu ce probleme avec la
dll SQLite. en creant l'acces SQLite4WD j'ai creer une dll . le meme
probleme se presente alors : la solution est de creer une autre dll . mais
le probleme avec l'acces mySQL c'est la dll libmySQL qu'on ne peut pas
renomer donc on a toujours le probleme.

en version 5 la dll libMySQL.dll est capable de gerer plusieurs contexte on
lui passe un parametre qui permet d'identiier le contexte qu'on utilise.

en c++ on integre la lib dans le programme et donc on peut gerer plusieurs
contexte en gerant plusieurs pointeurs sur la lib mais ce n'est pas possible
avec une dll puisqu'il n'y a qu'un seul point d'entree. il faudrait pourvoir
lui specifier qu'on veut un autre pointeur (ce qui est fait en version 5)

en fait pour votre probleme il y a deux solution :
une consiste a demander au service technique de pcsoft que l'acces natif
soit capable de gerer plusieurs contextes

la seconde mais la programmation n'est plus la meme est d'utiliser l'acces
alter natif mySQL4WD qui dans sa version 2 permet de gerer plusieurs
contextes en fait en instanciant un objet de la classe d'acces natif on lui
specifie un n° de contexte. nous pouvons ainsi avoir plusieurs contextes.

Firetox
www.SQLManagerX.com

"phab" a écrit dans le message de news:
4422cb01$0$13229$

merci Firetox
bien que ma version mysql local soit une 4.0.15
je ne comprends pas comme un client tel que Mysqlfront 3.1 ou 3.2
puisse se connecter à mon serveur mysql local et à mon serveur mysql
hebergeur et non l'application que j'ai créer
ce qui ne géne le plus c'est que meme si je demande de me connecter sur
l'hebergeur alors que mon local est en fonction il prend par défaut la
connection "local" celle-la meme declarer dans l'analyse à quoi bon faire
un HDécritConnexion et Houvre si ce n'est pas respecter !

je ne vois pas comment remédier au probléme

cordialement
Phab



Firetox a écrit :


Bonjour,

le probleme est : est ce que l'acces natif accepte 2 connexion
simultannées sur deux serveurs differents
jusqu'a la version 5 de mySQL c'etait impossible. donc si l'acces ne
s'appuie pas sur la libmySQL de la version 5 votre connexion au local
sera coupee quant meme. la lib mysql jusqu'a la 5 n'est capable de gerer
qu'un seul contexte MySQL donc si vous faite deux connexions differentes
les deux pointeront sur la derniere. faites un test avec cela et deux
select avec des base differentes vous allez avoir le meme resultat

il faut donc que l'acces accepte plusieurs contexte. avant toute chose il
faut se renseigné la dessus

Bon dev
@+











Avatar
nwjb
Le Fri, 24 Mar 2006 09:10:06 +0100, phab a
écrit:

Merci encore pour ces explications
je n'avais pas capter l'incident de l'accés natif mysql de W10
bon je pense que la solution pcsoft est à laisser de coté

en ce qui concerne votre solution

cela necessite de réécrire tout le programme?

j'ai téléchargé la derniére version "mySQL4WD-2.0.0.01.zip"
l'ai ouverte avec W10 et lors du lancement du test j'ai 2 warning

Warning 1

WDTST.exe-Point d'entréé introuvable
"le point d'entrée de procédure mysql_thread_end est introuvable dans la
bibliothéque de liaison dynamique LIBMYSQL.DLL

Warning 2
mySQl4WD.DLL introvable ou probléme d'initialisation de cette librairie


pourtant j'ai placé les 2 dll dans WINxxSYSTEM32.




Les enregister par regsvr32 ?

--
J.Bratières

Enlever paspub pour répondre
Please remove paspub when answering
Avatar
Firetox
Bonjour,

elles sont egalement dans SQLManagerX
normalement elles sont a jour

par contre, laisser plutot les deux dll libMySQL.dll et MySQL4WD.dll dans le
rep exe du programme
et cela pour 2 raisons.

la premiere vous etes sur que votre programme utilise les bonne dll et
l'install est plus facile : il suffit de mettre ces 2 fichiers avec votre
programme.

la deuxieme, est que si vous avez deja des programme utilisant la
libMySQL.dll et que celle ci doit d'une autre version vous aller avoir des
problemes. donc le fait de laisser les dll dans le rep exe du prog permet
d'avoir plusieurs programme utilisant des versio de mySQL differentes.

l'inconvenien est que la dll se retrouve plusieurs fois sur le poste. mais
je prefere l'avoir dans le rep du prog meme s'il y en a plusieurs comme ca
lors d'une mise a jour ou si on supprime le prog la dll part avec et ne gene
aucun autre programme

essayer le data Center ou SQLManagerX, ils mettent leur dll dans le rep exe
donc pas de probleme lorque vous les deinstallerzez.


la programmation se rapproche dela votre sauf que au lieu d'avoir des
HPremier vous aure des SQLPremier les commande H... sont remplacer par des
commande SQL..

voila
Bon dev
@+

Firetox
www.SQLManagerX.com

"phab" a écrit dans le message de news:
4423a957$0$30098$
Merci encore pour ces explications
je n'avais pas capter l'incident de l'accés natif mysql de W10
bon je pense que la solution pcsoft est à laisser de coté

en ce qui concerne votre solution

cela necessite de réécrire tout le programme?

j'ai téléchargé la derniére version "mySQL4WD-2.0.0.01.zip"
l'ai ouverte avec W10 et lors du lancement du test j'ai 2 warning

Warning 1

WDTST.exe-Point d'entréé introuvable
"le point d'entrée de procédure mysql_thread_end est introuvable dans la
bibliothéque de liaison dynamique LIBMYSQL.DLL

Warning 2
mySQl4WD.DLL introvable ou probléme d'initialisation de cette librairie


pourtant j'ai placé les 2 dll dans WINxxSYSTEM32.

bon ?

cordialement
phab

ps : nous pouvons nou tutoyer!


Firetox a écrit :
En fait mysqlFront ou n'importe quel programme en C++ n'aura pas ce
probleme car il ne s'appuie pas sur la dll libmySQL.dll mais integre
directement les api mysql par l'intermediaire de la lib ou libmySQL.lib.
et la il n'y a aucun probleme a creer des contexte differents.

le probleme vient uniquement de la dll et de windows. en fait quant on
fait un charge dll une instance est creer. mais windows reutilise le
pointeur des qu'on essaye de charge une nouvelle fois la dll. j'ai eu ce
probleme avec la dll SQLite. en creant l'acces SQLite4WD j'ai creer une
dll . le meme probleme se presente alors : la solution est de creer une
autre dll . mais le probleme avec l'acces mySQL c'est la dll libmySQL
qu'on ne peut pas renomer donc on a toujours le probleme.

en version 5 la dll libMySQL.dll est capable de gerer plusieurs contexte
on lui passe un parametre qui permet d'identiier le contexte qu'on
utilise.

en c++ on integre la lib dans le programme et donc on peut gerer
plusieurs contexte en gerant plusieurs pointeurs sur la lib mais ce n'est
pas possible avec une dll puisqu'il n'y a qu'un seul point d'entree. il
faudrait pourvoir lui specifier qu'on veut un autre pointeur (ce qui est
fait en version 5)

en fait pour votre probleme il y a deux solution :
une consiste a demander au service technique de pcsoft que l'acces natif
soit capable de gerer plusieurs contextes

la seconde mais la programmation n'est plus la meme est d'utiliser
l'acces alter natif mySQL4WD qui dans sa version 2 permet de gerer
plusieurs contextes en fait en instanciant un objet de la classe d'acces
natif on lui specifie un n° de contexte. nous pouvons ainsi avoir
plusieurs contextes.

Firetox
www.SQLManagerX.com

"phab" a écrit dans le message de news:
4422cb01$0$13229$

merci Firetox
bien que ma version mysql local soit une 4.0.15
je ne comprends pas comme un client tel que Mysqlfront 3.1 ou 3.2
puisse se connecter à mon serveur mysql local et à mon serveur mysql
hebergeur et non l'application que j'ai créer
ce qui ne géne le plus c'est que meme si je demande de me connecter sur
l'hebergeur alors que mon local est en fonction il prend par défaut la
connection "local" celle-la meme declarer dans l'analyse à quoi bon faire
un HDécritConnexion et Houvre si ce n'est pas respecter !

je ne vois pas comment remédier au probléme

cordialement
Phab



Firetox a écrit :


Bonjour,

le probleme est : est ce que l'acces natif accepte 2 connexion
simultannées sur deux serveurs differents
jusqu'a la version 5 de mySQL c'etait impossible. donc si l'acces ne
s'appuie pas sur la libmySQL de la version 5 votre connexion au local
sera coupee quant meme. la lib mysql jusqu'a la 5 n'est capable de gerer
qu'un seul contexte MySQL donc si vous faite deux connexions differentes
les deux pointeront sur la derniere. faites un test avec cela et deux
select avec des base differentes vous allez avoir le meme resultat

il faut donc que l'acces accepte plusieurs contexte. avant toute chose
il faut se renseigné la dessus

Bon dev
@+