|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2006 Messages : 3 ![]() |
Bonjour,
Je travaille actuellement sur une application développé en vb6 utilisant des bases de données access. Cette application est multi-utilisateurs et les données sont sur un même serveur. Lorsque un utilisateur se connecte avec des droits en écriture (droits géré par l'appli elle-même) sur une des bases de données, je modifie un champs de cette base de données de façon à ce qu'un autre utilisateur ne se connecte pas avec des droits en écriture en même temps. A la fermeture de l'outil par l'utilisateur en écriture, je réinitialise le champs de la base de données que j'avais modifié au début et voila. Le hic vient lorsqu'il y a plantage du système d'exploitation, ou de l'appli elle-même (rare mais ca arrive). Le champ de la base de données n'est pas réinitialisé et les utilisateurs suivants reste bloqués en lecture. Y a -til un moyen de gérer ce problème avec Access, mis a part le fait de réinitialiser le champs directement dans la base à la main ? Sinon est-ce que Oracle gère ce point ? Si oui comment ? |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Pourquoi ne pas utiliser le mode d'ouverture exclusif ? deux personnes ne peuvent pas ouvrir en mode exclusif en même temps, cela sera mieux que la bidouille d'un champ dans la base.
Mais bon, pourquoi interdire les accès concurents ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2006 Messages : 3 ![]() |
Le mode exclusif est tel que le premier qui ouvre bloque les autres en lecture. La première personne qui ouvre la base n'aura pas forcément des droits en écriture. Donc je ne peux utiliser le mode exclusif.
Ensuite pour des questions de sécurité et de visibilité, j'ai besoin qu'une personne à la fois modifie les données. |
|
|
00
|
|
|
#4 | |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Citation:
Une autre solution à laquelle je pense c'est d'ouvrir des recordsets exclusif sur les tables concernées pendant l'écriture. Mais bon, en général, on fait confiance au mécansime de verrouillage du SGBD. |
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : décembre 2006 Messages : 3 ![]() |
Les base de données sont uniquement accessible par mot de passe, donc les utilisateurs ne peuvent y accéder directement.
Citation:
Il y a la solution de recordset exclusif et je viens de penser à passer par des transactions aussi, mais cela fait sauter le principe de passer un utilisateur en écriture à la fois. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com