Mysql4wd 2 bases différentes (Au secours c'est urgent)

Le
Roumegou Eric
Bonjour,

J'ai déjà posé la question mais je n'avais pas eu de réponses.
J'ai besoin dans un site où je suis en connexion avec ma base de
données par mysql4wd de faire une petite interface dans une autre base
mysql (ça existe ?, oui je màj non je crée et hop je sors) et je
reviens à ma connxion normale.

Je voudrais eviter d'utiliser l'accès natif.
Donc j'ai créé une nouvelle instance de ma classe mysql, fait un sql
connecte et une fois mon p'tit bazar terminé, fermer cette cnx.

ret est un booléen
HmailSQL est un c_mySQL4WD
ret=HmailSQL:mySQLConnecte("www.monsite.net","wuser","secret","hmailserver")
SI PAS ret ALORS
Info(HmailSQL:mySQLErreur)
FIN
// traitement

/// .
HmailSQL:mySQLDeconnecte()
PageAffiche(BC_MLENVOIMAIL,"NORMAL")


Le pb c'est que mon serveur mysql principal has gone away lui aussi.

le mySQLdeconnecte deconnecte tout (alors que mon autre objet était
fSQL)

Et vais-je pouvoir utiliser les deux cnx ?

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo MT
Le #14589931
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre avec le
mySQLDeconnecte() tu es obligé de te reconnecter à ta base principale. Le
mySQLDeconnecte() doit fonctionner comme le SQLDeconnecte() et déconnecte
toutes les connexions à tes bases. Pour jongler entre telle ou telle base,
tu dois utiliser l'équivalent de SQLChangeConnexion avec ta classe mySQL4wd
lorsque les deux bases sont connectées.

"Roumegou Eric"
Bonjour,

J'ai déjà posé la question mais je n'avais pas eu de réponses.
J'ai besoin dans un site où je suis en connexion avec ma base de données
par mysql4wd de faire une petite interface dans une autre base mysql (ça
existe ?, oui je màj non je crée et hop je sors) et je reviens à ma
connxion normale.

Je voudrais eviter d'utiliser l'accès natif.
Donc j'ai créé une nouvelle instance de ma classe mysql, fait un sql
connecte et une fois mon p'tit bazar terminé, fermer cette cnx.

ret est un booléen
HmailSQL est un c_mySQL4WD
ret=HmailSQL:mySQLConnecte("www.monsite.net","wuser","secret","hmailserver")
SI PAS ret ALORS
Info(HmailSQL:mySQLErreur)
FIN
// traitement

/// ....
HmailSQL:mySQLDeconnecte()
PageAffiche(BC_MLENVOIMAIL,"NORMAL")


Le pb c'est que mon serveur mysql principal has gone away lui aussi.

le mySQLdeconnecte deconnecte tout (alors que mon autre objet était fSQL)

Et vais-je pouvoir utiliser les deux cnx ?

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)




Roumegou Eric
Le #14589921
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de l'autre.
Par contre si tu veux à tout prix fermer l'une ou l'autre avec le
mySQLDeconnecte() tu es obligé de te reconnecter à ta base principale. Le
mySQLDeconnecte() doit fonctionner comme le SQLDeconnecte() et déconnecte
toutes les connexions à tes bases. Pour jongler entre telle ou telle base, tu
dois utiliser l'équivalent de SQLChangeConnexion avec ta classe mySQL4wd
lorsque les deux bases sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de
SQLChangeConnexion avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres requetes
car je n'ais pas la bonne base.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Jacques TREPP
Le #14589911
"Roumegou Eric" news:
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre avec
le mySQLDeconnecte() tu es obligé de te reconnecter à ta base principale.
Le mySQLDeconnecte() doit fonctionner comme le SQLDeconnecte() et
déconnecte toutes les connexions à tes bases. Pour jongler entre telle ou
telle base, tu dois utiliser l'équivalent de SQLChangeConnexion avec ta
classe mySQL4wd lorsque les deux bases sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de SQLChangeConnexion
avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres requetes
car je n'ais pas la bonne base.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)





Bonjour Eric,
je vais sans doute en dire une énorme, mais j'assume :)
D'après Frédéric Emprin, tu peux avoir 2 classes mysql4WD. Il suffit de
dupliquer la classe actuelle sous un autre nom.
Lors de la déclaration des classes, tu instancie Mysql1 est un mysql4WD1, et
mysql2 est un mysql4WD2.
De cette manière tu peux jouer sur les 2 tables.

Mais comme ça fait un moment que le message est passé, je peux me tromper.
Fred, si tu nous entends ... :)

cordialement

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Fredo MT
Le #14589891
Arf c'est fort dommage, car je pense que c'est la solution. Avec le
SQLChangeConnexion tu peux jongler entre les 2 connexions, requêter d'un
côté changer de connexion requêter de l'autre, et recouper les requêtes
venant de deux bases différentes. Et tu n'auras plus les problèmes de
requêtes dans la mauvaise base, car c'est toi qui annonce où il doit
requêter... A voir comme une amélioration dans la classe.

"Roumegou Eric"
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre avec
le mySQLDeconnecte() tu es obligé de te reconnecter à ta base principale.
Le mySQLDeconnecte() doit fonctionner comme le SQLDeconnecte() et
déconnecte toutes les connexions à tes bases. Pour jongler entre telle ou
telle base, tu dois utiliser l'équivalent de SQLChangeConnexion avec ta
classe mySQL4wd lorsque les deux bases sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de SQLChangeConnexion
avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres requetes
car je n'ais pas la bonne base.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)




Daniel
Le #14589881
Jacques TREPP a écrit :
"Roumegou Eric" news:
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre
avec le mySQLDeconnecte() tu es obligé de te reconnecter à ta base
principale. Le mySQLDeconnecte() doit fonctionner comme le
SQLDeconnecte() et déconnecte toutes les connexions à tes bases. Pour
jongler entre telle ou telle base, tu dois utiliser l'équivalent de
SQLChangeConnexion avec ta classe mySQL4wd lorsque les deux bases
sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de
SQLChangeConnexion avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres
requetes car je n'ais pas la bonne base.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)





Bonjour Eric,
je vais sans doute en dire une énorme, mais j'assume :)
D'après Frédéric Emprin, tu peux avoir 2 classes mysql4WD. Il suffit de
dupliquer la classe actuelle sous un autre nom.
Lors de la déclaration des classes, tu instancie Mysql1 est un
mysql4WD1, et mysql2 est un mysql4WD2.
De cette manière tu peux jouer sur les 2 tables.

Mais comme ça fait un moment que le message est passé, je peux me tromper.
Fred, si tu nous entends ... :)

cordialement





voici le code

CONSQL est un c_mySQL4WD()
CONSQL_1 est un c_mySQL4WD(1)


ensuite pour l'accès 1 tu appelles
CONSQL:...

pour le 2 tu appelles
CONSQL_1

Tu peux faire un CONSQL_1:mysqldeconnecte() cela fermera bien la connexion 2


Pour plus d'info voir Rodolphe Jouannet c'est dans la version 2.0.0.1

Je ne sais plus la limite sur le nombre de connexion(5?), mais à la
limite tu recompiles la dll si tu en veux plus.
--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Daniel
Le #14589821
Jacques TREPP a écrit :
"Roumegou Eric" news:
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre
avec le mySQLDeconnecte() tu es obligé de te reconnecter à ta base
principale. Le mySQLDeconnecte() doit fonctionner comme le
SQLDeconnecte() et déconnecte toutes les connexions à tes bases. Pour
jongler entre telle ou telle base, tu dois utiliser l'équivalent de
SQLChangeConnexion avec ta classe mySQL4wd lorsque les deux bases
sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de
SQLChangeConnexion avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres
requetes car je n'ais pas la bonne base.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)





Bonjour Eric,
je vais sans doute en dire une énorme, mais j'assume :)
D'après Frédéric Emprin, tu peux avoir 2 classes mysql4WD. Il suffit de
dupliquer la classe actuelle sous un autre nom.
Lors de la déclaration des classes, tu instancie Mysql1 est un
mysql4WD1, et mysql2 est un mysql4WD2.
De cette manière tu peux jouer sur les 2 tables.

Mais comme ça fait un moment que le message est passé, je peux me tromper.
Fred, si tu nous entends ... :)

cordialement




Ce qui est important de dupliquer c'est la mysql4wd.dll et bien entendu
son accès d'où la duplication de la classe.

Mais depuis pas mal de temps Rodolphe a modifié la classe et
mysql4wd.dll pour permettre la multi-connexion sur Mysql.

Le nombre de connexion simultannée est de 4.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Roumegou Eric
Le #14586371
Daniel a présenté l'énoncé suivant :
Jacques TREPP a écrit :
"Roumegou Eric" news:
Fredo MT a écrit :
Salut Eric !

Tu peux avoir 2 connexions en simultané, et requêter d'un côté et de
l'autre. Par contre si tu veux à tout prix fermer l'une ou l'autre avec
le mySQLDeconnecte() tu es obligé de te reconnecter à ta base principale.
Le mySQLDeconnecte() doit fonctionner comme le SQLDeconnecte() et
déconnecte toutes les connexions à tes bases. Pour jongler entre telle ou
telle base, tu dois utiliser l'équivalent de SQLChangeConnexion avec ta
classe mySQL4wd lorsque les deux bases sont connectées.



merci de ta réponse mais je n'ais pas d'equivalent de SQLChangeConnexion
avec mySQL4wd ???

et si je ne déconnecte pas, cela plante ensuite sur les autres requetes
car je n'ais pas la bonne base.

-- Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)





Bonjour Eric,
je vais sans doute en dire une énorme, mais j'assume :)
D'après Frédéric Emprin, tu peux avoir 2 classes mysql4WD. Il suffit de
dupliquer la classe actuelle sous un autre nom.
Lors de la déclaration des classes, tu instancie Mysql1 est un mysql4WD1,
et mysql2 est un mysql4WD2.
De cette manière tu peux jouer sur les 2 tables.

Mais comme ça fait un moment que le message est passé, je peux me tromper.
Fred, si tu nous entends ... :)

cordialement




Ce qui est important de dupliquer c'est la mysql4wd.dll et bien entendu son
accès d'où la duplication de la classe.

Mais depuis pas mal de temps Rodolphe a modifié la classe et mysql4wd.dll
pour permettre la multi-connexion sur Mysql.

Le nombre de connexion simultannée est de 4.



Ah oui moi je suis encore en 1.5.5.6.
Mais j'ai un peu peur de changer de version d'autant que j'avais fait
des modifs dans la classe pour que cela soit compatible avec tous les
autres accès alternatifs.(plus d'autres certainement ensuite)

et cette classe et dll je l'utilise partout donc méfiance, je vais
rester en 1.5.5.6 pour l'instant.

Sinon je me suis débrouillé en me reconnectant avec l'autre cnx dont
j'avais les params en globales.
Ensuite l'interaction des deux, un fetch sur les tables de ma première
cnx m'avait préparé une cde bulk avec des %1.
Ensuite j'ai fait un chaineconstruit avec mes valeurs de ma 2e cnx et
ça marche bien.

Merci à tous pour vos réponses.


--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Jerome PAULIN
Le #14585701
Roumegou Eric a écrit :
Bonjour,

J'ai déjà posé la question mais je n'avais pas eu de réponses.
J'ai besoin dans un site où je suis en connexion avec ma base de données
par mysql4wd de faire une petite interface dans une autre base mysql (ça
existe ?, oui je màj non je crée et hop je sors) et je reviens à ma
connxion normale.




Si tes deux bases sont sur le même serveur, tu dois pouvoir faire des
requetes croisées, il suffit de préfixer le nom de la table par le nom
du serveur. Exemple :

select
*
from
base1.tableA
inner join base2.tableB .....


Si ca peut t'aider ...

gg
Roumegou Eric
Le #14585691
Jerome PAULIN a écrit :
Roumegou Eric a écrit :
Bonjour,

J'ai déjà posé la question mais je n'avais pas eu de réponses.
J'ai besoin dans un site où je suis en connexion avec ma base de données
par mysql4wd de faire une petite interface dans une autre base mysql (ça
existe ?, oui je màj non je crée et hop je sors) et je reviens à ma
connxion normale.




Si tes deux bases sont sur le même serveur, tu dois pouvoir faire des
requetes croisées, il suffit de préfixer le nom de la table par le nom du
serveur. Exemple :




hmm j'en doute ??????????
vu que la connexion de la base implique specifiquement une base.



select
*
from
base1.tableA
inner join base2.tableB .....


Si ca peut t'aider ...

gg



--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumegou Eric
Le #14585681
Roumegou Eric a écrit :
Jerome PAULIN a écrit :
Roumegou Eric a écrit :
Bonjour,

J'ai déjà posé la question mais je n'avais pas eu de réponses.
J'ai besoin dans un site où je suis en connexion avec ma base de données
par mysql4wd de faire une petite interface dans une autre base mysql (ça
existe ?, oui je màj non je crée et hop je sors) et je reviens à ma
connxion normale.




Si tes deux bases sont sur le même serveur, tu dois pouvoir faire des
requetes croisées, il suffit de préfixer le nom de la table par le nom du
serveur. Exemple :




hmm j'en doute ??????????
vu que la connexion de la base implique specifiquement une base.




Quoique ...
testé sous sqlyog
select * from hmailserver.hm_accounts

me ramène bien mes données alors que je ne me suis connecté que sur une
base.

Je testerai à l'occase.
Merci.





select
*
from
base1.tableA
inner join base2.tableB .....


Si ca peut t'aider ...

gg





--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Publicité
Poster une réponse
Anonyme