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

quelle solution mysql pour pallier coupure reseau

9 réponses
Avatar
J-F Portala
Bonjour,

J'ai une application en C qui se connecte à un serveur mysql pour recuperer
les noms des utilisateurs
et enregistrer des données.

Je voudrais palier au probleme de coupure reseau et que mon application
fonctionne meme dans un mode dégradé.

Quelles sont les solutions ?
- installer un serveur mysql en local et utiliser le serveur local si le
serveur général n'est pas accessible
(comment est ce que je peux resynchroniser les données entre ces deux
serveurs).

- utiliser dans le cas de coupure une autre base locale (fichier mdb).

Y a t il des solutions plus elegantes ou plus simples ?

Merci de vos opinions.
Jeff

9 réponses

Avatar
\(¯`·..Yttrium ...·´¯\)
"J-F Portala" a écrit dans le message de news:
428af183$0$23733$
Bonjour,

J'ai une application en C qui se connecte à un serveur mysql pour


recuperer
les noms des utilisateurs
et enregistrer des données.

Je voudrais palier au probleme de coupure reseau et que mon application
fonctionne meme dans un mode dégradé.

Quelles sont les solutions ?
- installer un serveur mysql en local et utiliser le serveur local si le
serveur général n'est pas accessible
(comment est ce que je peux resynchroniser les données entre ces deux
serveurs).

- utiliser dans le cas de coupure une autre base locale (fichier mdb).

Y a t il des solutions plus elegantes ou plus simples ?

Merci de vos opinions.
Jeff




Bonjour,
La meme question a été posée par vous meme il y a 5 jours et 6 lignes....:-(
Pas la peine de reposter.
Salutations.
Avatar
J-F Portala

Bonjour,
La meme question a été posée par vous meme il y a 5 jours et 6
lignes....:-(
Pas la peine de reposter.
Salutations.




Bonjour,
j'ai pensais que le titre n'a pas susciter d'intéret, c'est pourquoi j'ai
fait une derniere tentative
en espérant intéresser une bonne âme.

Cela me parassait êter pourtant le bon newsgroup.

Salutations.
Jeff
Avatar
Basile Starynkevitch [news]
On 2005-05-18, J-F Portala wrote:

J'ai une application en C qui se connecte à un serveur mysql pour recuperer
les noms des utilisateurs et enregistrer des données.



J'espère que votre application tourne sous Linux, qui est plus simple
pour utiliser mysql (qui a été développé sur des systèmes Unix à
l'origine).

S'il s'agit de données simples (vous n'avez pas indiqué leur
structure) il est possible qu'utiliser SQL soit un peu utiliser un
marteau-pilon pour tuer une mouche. Si vos données sont de simples
associations (par exemple entre le nom d'un utilisateur et son compte)
des fichiers associatifs tels que GDBM suffisent.

Vous n'avez pas précisé la taille de vos données. J'imagine qu'il
s'agit d'une base assez petite (quelques dizaines de megaoctets).

Bien sûr, si vous avez des requêtes SQL complexes, c'est que vous avez
besoin d'un SGBDR comme MySQL.


Je voudrais palier au probleme de coupure reseau et que mon application
fonctionne meme dans un mode dégradé.

Quelles sont les solutions ?
- installer un serveur mysql en local et utiliser le serveur local si le
serveur général n'est pas accessible



Sur une machine Linux c'est très simple car la plupart des
distributions Linux offrent des paquets MySQL.

(comment est ce que je peux resynchroniser les données entre ces deux
serveurs).



En lançant à intervalles reguliers (avec crontab sous Linux) une
procédure de recopie (ou de synchronisation) d'une base à l'autre. Si
les données ne sont modifiées que sur la machine distante, il suffit
de faire un mysqldump sur la machine distante qui envoie vers un
client mysql sur la machine locale


- utiliser dans le cas de coupure une autre base locale (fichier mdb).




On pourrait aussi utiliser une librarie du genre SQLlite, etc...


Mais vous ne donnez pas assez de précisions sur votre problème pour
pouvoir être efficacement conseillé.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France
Avatar
Jean-Max Reymond
J-F Portala a écrit :


Je voudrais palier au probleme de coupure reseau et que mon application
fonctionne meme dans un mode dégradé.

Quelles sont les solutions ?
- installer un serveur mysql en local et utiliser le serveur local si le
serveur général n'est pas accessible
(comment est ce que je peux resynchroniser les données entre ces deux
serveurs).



replication mysql:
http://dev.mysql.com/doc/mysql/fr/replication.html

--
Jean-Max Reymond
dernière éruption de l'Etna: http://jmreymond.free.fr/Etna2002
Avatar
\(¯`·..Yttrium ...·´¯\)
"J-F Portala" a écrit dans le message de news:
428af8ec$0$23049$
Bonjour,
j'ai pensais que le titre n'a pas susciter d'intéret, c'est pourquoi j'ai
fait une derniere tentative
en espérant intéresser une bonne âme.



Vous avez bien fait,on dirait que ca marche mieux que la fois précédente..
:-)
Avatar
J-F Portala
Bonjour, et merci de votre aide


J'ai une application en C qui se connecte à un serveur mysql pour
recuperer
les noms des utilisateurs et enregistrer des données.



J'espère que votre application tourne sous Linux, qui est plus simple
pour utiliser mysql (qui a été développé sur des systèmes Unix à
l'origine).




"malheureusement", je travaille sous windows, et c'est par ODBC que j'accede
à une base de données Mysql.
J'ai 3 machines sous windows qui font tourner un applicatif qui lui a besoin
de connaitre les données utilisateurs et sauvegarder des données dans la
base.
Les requetes sont vraiment simples.

S'il s'agit de données simples (vous n'avez pas indiqué leur
structure) il est possible qu'utiliser SQL soit un peu utiliser un
marteau-pilon pour tuer une mouche. Si vos données sont de simples
associations (par exemple entre le nom d'un utilisateur et son compte)
des fichiers associatifs tels que GDBM suffisent.


Il y a une partie concernant les données utilisateur, et une autre
concernant l'enregistrement des données de production, qui enrichit la BDD.
C'est pourquoi je souhaitais pouvoir reinjecter les données de production
enregistrées en local vers la BDD lorsque le reseau est rétabli.
Je ne connais pas le format GDBM.


Vous n'avez pas précisé la taille de vos données. J'imagine qu'il
s'agit d'une base assez petite (quelques dizaines de megaoctets).



La base est effectivement assez petite (quelques dizaines de Mo).



Bien sûr, si vous avez des requêtes SQL complexes, c'est que vous avez
besoin d'un SGBDR comme MySQL.



J'ai developpe un intranet pour exploiter les données mais c'est sous PHP,
et je ne cherche
pas à palier à un probleme de coupure reseau. Ici, les requetes sont lecture
et enregistrement de données, rien d'autre.



Je voudrais palier au probleme de coupure reseau et que mon application
fonctionne meme dans un mode dégradé.

Quelles sont les solutions ?
- installer un serveur mysql en local et utiliser le serveur local si le
serveur général n'est pas accessible



Sur une machine Linux c'est très simple car la plupart des
distributions Linux offrent des paquets MySQL.


Cela pourrait donc convenir même sous windows.

(comment est ce que je peux resynchroniser les données entre ces deux
serveurs).



En lançant à intervalles reguliers (avec crontab sous Linux) une
procédure de recopie (ou de synchronisation) d'une base à l'autre. Si
les données ne sont modifiées que sur la machine distante, il suffit
de faire un mysqldump sur la machine distante qui envoie vers un
client mysql sur la machine locale


Sous windows, je pense pouvoir enregistrer dans un fichier les données et si
ce fichier existe, reinjecter les données dans la base.


- utiliser dans le cas de coupure une autre base locale (fichier mdb).




On pourrait aussi utiliser une librarie du genre SQLlite, etc...


Est ce que l'enregistrement local sous SQLlite est possible a partir de C
sous windows (odbc?),
et ensuite je pense qu'il faut lire les données et les reinjecter dans
Mysql.





Si l'enregistrement des données dans un fichier parait envisageable, la
lecture des informations semble
plus judicieuse dans une base de données locale. (SQLlite par exemple).
Si j'utilise une base de données locale pour la lecture, autant l'utiliser
donc pour l'enregistrement local temporaire.
Est ce que SQLlite convient pour ce genre de manip.

Jeff
Avatar
cléo
J'espère que votre application tourne sous Linux, qui est plus simple
pour utiliser mysql


N'importe quoi ... d'où sortez-vous ça ?

--
Cléo
Avatar
Didier Ranefi
cléo a écrit :
J'espère que votre application tourne sous Linux, qui est plus simple
pour utiliser mysql



N'importe quoi ... d'où sortez-vous ça ?




du bon sens sans aucun doute, d'une solide expérience aussi.

--
Didier Ranefi
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Avatar
cléo
du bon sens sans aucun doute, d'une solide expérience aussi.



Salut,
Avec des arguments pareils, je ne peux que m'incliner ...

--
Cléo