OVH Cloud OVH Cloud

[MYSQL connections multiples

5 réponses
Avatar
jacques trepp
Bonjour,
juste pour ne pas ré-inventer la roue :

peut-on travailler sur 2 connections différentes, ou doit-on le faire en 2
fois.
explications :
je suis connecté sur serveur_trepp à la base mabase1 (il existe aussi
mabase2)
actuellement, je peux gérer la duplication d'une base sur l'aitre comme ça :
"INSERT INTO "+mabase2+"."+nom_table+" SELECT * FROM "+mabase1+"."+nom_table
Comment faire si mabase1 est sur serveur_trepp, et mabase2 sur localhost ?
peut on dire Maconnection.mabase1.matable ?

merci



--
Jacques TREPP
Albygest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004

5 réponses

Avatar
Firetox
Bonjour, jacques


"jacques trepp" a écrit dans le message de news:
407d3121$0$17503$
Bonjour,
juste pour ne pas ré-inventer la roue :

peut-on travailler sur 2 connections différentes, ou doit-on le faire en 2
fois.
explications :
je suis connecté sur serveur_trepp à la base mabase1 (il existe aussi
mabase2)
actuellement, je peux gérer la duplication d'une base sur l'aitre comme ça


:
"INSERT INTO "+mabase2+"."+nom_table+" SELECT * FROM


"+mabase1+"."+nom_table
Comment faire si mabase1 est sur serveur_trepp, et mabase2 sur localhost ?
peut on dire Maconnection.mabase1.matable ?



malheureusement non l'acces natif MySQL a un environement unique et donc la
derniere connexion est active il faut donc que les tables soient sur le
meme serveur (pas forcement dans la meme base avec les nomBase.nomtable
possible)

cela provient du chrgement Dll qui pour un meme programme n'accepte du'un
instance de la dll en memoire
2 exe differents peuvent coexister et avoir des connexion differentes mais
pas un meme programme


merci



--
Jacques TREPP
Albygest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004




Avatar
Daniel
Bonsoir,

"jacques trepp" writes:

Bonjour,
juste pour ne pas ré-inventer la roue :

peut-on travailler sur 2 connections différentes, ou doit-on le faire e n 2
fois.
explications :
je suis connecté sur serveur_trepp à la base mabase1 (il existe aussi
mabase2)
actuellement, je peux gérer la duplication d'une base sur l'aitre comme ça :
"INSERT INTO "+mabase2+"."+nom_table+" SELECT * FROM "+mabase1+"."+nom_ta ble
Comment faire si mabase1 est sur serveur_trepp, et mabase2 sur localhost ?
peut on dire Maconnection.mabase1.matable ?



ne fonctionne pas 1 exe = 1 connexion, je crois que c'est lié à la
DLL.
Il est donc nécessaire que tu passes par une table mémoire ou un
fichier temporaire.

Pour faire suite à ton précédent post :
Essaie avec sqlite tu peux t'en sortir. En plus c'est plus
simple à mettre en place si tu dois gérer une flote de portable.
J'ai une application qui fonctionne sur mysql lorsqu'on est au bureau,
dès qu'on ferme l'application je récupère en local toutes les
modifications dans sqlite.

Lorsqu'on est à l'extérieur, on se connecte en SQLite.

Tout celà fonctionne depuis 4-5 mois pour sqlite ( Depuis que Frédéric
Emprin a fait l'accès.)

adptation du code très rapide et transparent entre sqlite et mysql. Le
seul piège est de ne pas utiliser des fonctions sql spécifiques à
mysql et qu'on ne retrouve pas dans SQLITE.

Maintenance très facile, pas besoin d'installer le moteur mysql...




--
Jacques TREPP
Albygest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004





--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
jacques trepp
bonjour, et merci de ta réponse, qui m'intéresse beaucoup.
Pour faire suite à ton précédent post :
Essaie avec sqlite tu peux t'en sortir. En plus c'est plus
simple à mettre en place si tu dois gérer une flote de portable.
J'ai une application qui fonctionne sur mysql lorsqu'on est au bureau,
dès qu'on ferme l'application je récupère en local toutes les
modifications dans sqlite.



quelle méthode utilises-tu pour synchroniser les 2 bases ?

Lorsqu'on est à l'extérieur, on se connecte en SQLite.

Tout celà fonctionne depuis 4-5 mois pour sqlite ( Depuis que Frédéric
Emprin a fait l'accès.)



j'ai eu quelques problèmes lorsque j'ai essayé les classes de Fredéric, il y
a 2 mois. Depuis, je n'ai pas eu le temps de m'occuper de sqllite.
Evidemment, je préfèrerais l'utiliser, ne serait-ce que pour des problèmes
de licences.

adptation du code très rapide et transparent entre sqlite et mysql. Le
seul piège est de ne pas utiliser des fonctions sql spécifiques à
mysql et qu'on ne retrouve pas dans SQLITE.



Je n'utilise que les classes de Frédéric, pour ce qui est Fiches, ou
lectures spécifiques d'un enregistrement, et des requètes MYSQL pour les
tables (rien d'exotique, des select, inner join..)

Maintenance très facile, pas besoin d'installer le moteur mysql...



Merci encore, ainsi qu'à Frédéric :)
--
Jacques TREPP
Albygest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004
Avatar
Daniel
Bonjour,

"jacques trepp" writes:

....
> dès qu'on ferme l'application je récupère en local toutes les
> modifications dans sqlite.

quelle méthode utilises-tu pour synchroniser les 2 bases ?



concrètement, lors du lancement de l'application je contrôle si on est
en réseau ou pas. Si oui, je connecte sur mysql sinon je connecte sur
sqlite.
Le nom de la connexion est dans une variable, de cette façon avec une
indirection je gère aussi bien toute l'application sous mysql ou
sqlite.

Pour la synchronisation de la table mysql vers sqlite, j'utilise un
champs "timestamp", il suffit de faire un test et tu récupères toutes
les modifications vers sqlite. Pour Sqlite vers mysql, c'est plus
difficile car sous mysql je suis en multiuser et sur sqlite je suis
avec un seul user, en fait il suffit de prévoir un champs
supplémentaire.

Ensuite pour la synchronisation, tu fais un select, et tu fais une
boucle qui copie les valeurs mysql vers sqlite.
Je t'enverrais un bout de code...

j'ai eu quelques problèmes lorsque j'ai essayé les classes de Fredé ric, il y
a 2 mois. Depuis, je n'ai pas eu le temps de m'occuper de sqllite.
Evidemment, je préfèrerais l'utiliser, ne serait-ce que pour des prob lèmes
de licences.


Effectivement, il y a quelques mois c'était un peu la galère, et
c'était un peu buggé. Parfois c'était la dll, parfois c'était la
classe. Maintenant sur les dernières release c'est ok


Je n'utilise que les classes de Frédéric, pour ce qui est Fiches, ou
lectures spécifiques d'un enregistrement, et des requètes MYSQL pour les
tables (rien d'exotique, des select, inner join..)



Normallement c'est bon, je parlais plus de fonction type
substring_index, concat....

Merci encore, ainsi qu'à Frédéric :)


Oui, et si tu n'a pas encore fait teste la dernière version de
sqlmanager que Frédéric à mis à dispo qui gère correctement les
mysqllitcol et mysqllitcollong. Qui améliore le sqlctable...
Cette version permet d'être totalement comptable avec mysql 4 de
Rodolphe Jouannet, et bien entendu avec SQLite...

@+


--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
jacques trepp
Daniel wrote:
Bonjour,

"jacques trepp" writes:

....
dès qu'on ferme l'application je récupère en local toutes les
modifications dans sqlite.



quelle méthode utilises-tu pour synchroniser les 2 bases ?



concrètement, lors du lancement de l'application je contrôle si on est
en réseau ou pas. Si oui, je connecte sur mysql sinon je connecte sur
sqlite.
Le nom de la connexion est dans une variable, de cette façon avec une
indirection je gère aussi bien toute l'application sous mysql ou
sqlite.

Pour la synchronisation de la table mysql vers sqlite, j'utilise un
champs "timestamp", il suffit de faire un test et tu récupères toutes
les modifications vers sqlite. Pour Sqlite vers mysql, c'est plus
difficile car sous mysql je suis en multiuser et sur sqlite je suis
avec un seul user, en fait il suffit de prévoir un champs
supplémentaire.

Ensuite pour la synchronisation, tu fais un select, et tu fais une
boucle qui copie les valeurs mysql vers sqlite.
Je t'enverrais un bout de code...

j'ai eu quelques problèmes lorsque j'ai essayé les classes de
Fredéric, il y a 2 mois. Depuis, je n'ai pas eu le temps de
m'occuper de sqllite. Evidemment, je préfèrerais l'utiliser, ne
serait-ce que pour des problèmes de licences.


Effectivement, il y a quelques mois c'était un peu la galère, et
c'était un peu buggé. Parfois c'était la dll, parfois c'était la
classe. Maintenant sur les dernières release c'est ok


Je n'utilise que les classes de Frédéric, pour ce qui est Fiches, ou
lectures spécifiques d'un enregistrement, et des requètes MYSQL pour
les tables (rien d'exotique, des select, inner join..)



Normallement c'est bon, je parlais plus de fonction type
substring_index, concat....

Merci encore, ainsi qu'à Frédéric :)


Oui, et si tu n'a pas encore fait teste la dernière version de
sqlmanager que Frédéric à mis à dispo qui gère correctement les
mysqllitcol et mysqllitcollong. Qui améliore le sqlctable...
Cette version permet d'être totalement comptable avec mysql 4 de
Rodolphe Jouannet, et bien entendu avec SQLite...

@+



merci. Je vais tester le lite, mais, ce matin, j'avais encore un pb. :(
je t'en dirai plus demain.

--
Jacques TREPP
Albygest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004