Page 1 sur 1

[RESOLU] Base SqLite en réseau local OK

Publié : jeu. 31/janv./2013 22:32
par omega
Bonsoir,

C'est la première fois que j'utilise une base de données Sqlite en réseau local ( 6 postes + serveur). Je n'ai pas encore installé mon réseau mais ça sera fait très bientôt (le matériel est déjà prêt et le logiciel aussi bien sûr).
J'ai deux questions à poser :

1) Est-ce que je dois configurer ou changer quelque chose dans mon programme pour que ça fonctionne comme en mono?
2)Si deux utilisateurs accèdent à une même table en même temps, que se passera t -il??

Merci

Re: Base SqLite en réseau local

Publié : ven. 01/févr./2013 15:47
par Atlante
omega a écrit :Bonsoir,

C'est la première fois que j'utilise une base de données Sqlite en réseau local ( 6 postes + serveur). Je n'ai pas encore installé mon réseau mais ça sera fait très bientôt (le matériel est déjà prêt et le logiciel aussi bien sûr).
J'ai deux questions à poser :

1) Est-ce que je dois configurer ou changer quelque chose dans mon programme pour que ça fonctionne comme en mono?
2)Si deux utilisateurs accèdent à une même table en même temps, que se passera t -il??

Merci
1) Sans voir ton programme c'est compliqué de répondre.
2) Le premier qui arrive vérrouille la table, il n'y a pas de "en même temps"
wikipedia :
lorsqu'un nombre important de clients accèdent à une même base, si un des clients commence la lecture d'une partie, la totalité de la base est bloquée en écriture pour les autres clients, et inversement si un des clients démarre l'écriture dans une partie, la totalité de la base est bloquée en lecture pour les autres clients. Ces derniers sont alors mis en attente durant ce laps de temps, ce qui peut être contre-performant ;

Re: Base SqLite en réseau local

Publié : ven. 01/févr./2013 15:48
par gnozal
A ma connaissance SQLite est mono-utilisateur, et donc pour un environnent multi-utilisateurs il va falloir quelques adaptations...

Il existe au moins une solution client-serveur gratuite open source : sqlitening (anglais uniquement).

[RESOLU] Base SqLite en réseau local ok

Publié : lun. 11/mars/2013 15:51
par omega
ça y est j'ai trouvé une astuce et (pour l'instant) ça marche sur 3 postes

J'ai simplement créé une base virtuelle pour chaque utilisateur et juste après validation (facture, stock etc....) les mises à jour seront transférés immédiatement vers la base centrale...

Espérons que ça dure ...

Cordialement

Re: [RESOLU] Base SqLite en réseau local OK

Publié : lun. 11/mars/2013 16:11
par falsam
Pourquoi n'utilises tu pas une base de données de type Postgr ? ça ne changera rien au niveau de ton programme au contraire ça va le simplifier. Ton serveur est installer sur un pc de préférence autonome. Chaque poste communique avec lui grâce à son adresse IP+port.

La seule différence est la manière d'ouvrir un fichier.

Code : Tout sélectionner

If OpenDatabase(0, "host=adresseIP port=5432 dbname=nom de la base données", "Utilisateur", "Mot de passe")
Tu peux télécharger le serveur PostgreSQ depuis ce lien http://www.postgresqlfr.org

Re: [RESOLU] Base SqLite en réseau local OK

Publié : mar. 12/mars/2013 12:30
par omega

Code : Tout sélectionner

If OpenDatabase(0, "host=adresseIP port=5432 dbname=nom de la base données", "Utilisateur", "Mot de passe")
Tu es sûr que c'est tout ce je que j'ai à faire? Mais où seront stockées les données?
dans sqlite ou dans postgr? Dois-je installer Postgr? Y a t-il une configuration à faire?
J'avoue que je vois flou, éclaires-moi stp sachant que:

Le serveur est autonome et le chemin du réseau est z: qui correspond à:

d:\data\mabase1.db, mabase2.db, etc...

les 6 utilisateurs accèdent normalement au serveur sans problème

mon programme marche bien en mono et même en réseau mais j'avoue que parfois il y a un ralentissement surtout au niveau de la mise à jour de la base centrale
(les utilisateurs travaillent sur une base virtuelle spécifique pour chaque poste)

exemple:
l'utilsateur 1 utilise le chemin \\base1\data
l'utilsateur 2 utilise le chemin \\base2\data
l'utilsateur 3 utilise le chemin \\base3\data
etc...

après validation de son travail, seules les mises à jour seront transférés dans la base centrale

qui se trouve ici: \\basecentrale\data\

Excuses moi si je suis gourmand mais il me faut ds explications détaillées car je ne connais pas postgr et je n'ai pas le temps de l'apprendre maintenant parce que ce n'est vraiment pas le moment ...

Merci infiniment Falsam