sécurisation et fiabilisation d'une base Access en réseau
1 réponse
Jean-Pierre Collombet
Bonjour
Je dois construire dans mon entreprise une base Access=20
(version 97) en r=E9seau.
Cette base est destin=E9e a =EAtre utilis=E9e par 50 personnes=20
en saisie et en consultation.
En fait, j'ai d=E9doubl=E9 la base (recopiage durant la nuit)=20
pour qu'une serve =E0
la saisie te l'autre =E0 la consultation.
mon souci premier est de g=E9rer les conflits d'acc=E8s en=20
=E9criture =E0 la table principale.
En faisant des tests de saisie pouss=E9s sur 3 postes=20
sumulat=E9ment, je me suis heurt=E9 =E0 l'erreur d'=E9x=E9cution=20
3202 " table actuellement verrouill=E9 par un autre=20
utilisateur".
Il est vrai que j'ai, peut-=EAtre, un peu "forc=E9" le test=20
puisque j'ai rentr=E9 des dizaines d'enregistrements en une=20
minute, mais ceci dans un souci de reproduire la saisie=20
potentielle de 50 personnes simultan=E9ment.
pour parer =E0 cette erreur, j'ai relev=E9 dans les "options=20
avanc=E9es" le param=E8tre "nombre de tentatives de mise =E0=20
jour" de 2 =E0 5.
Effectivement je n'ai pas retrouv=E9 l'erreur, mais existe=20
t'il d'autre(s) param=E8tre(s) permettant =E9galement de plus=20
s=E9curiser et de g=E9rer ce type d'erreur. je pense notamment=20
au param=E8tre de "verrouillage" pour lequel je n'ai=20
p=E9cis=E9 "aucun"
=20
A noter que la saisie des infos se fait par un formulaire=20
avec les =E9mthodes "opendatabse", "openrecordset", "Addnew"=20
et "update".
Dois-je peut =EAtre aussi faire deux sous-bases qui iront en=20
alimenter une 3=E8me ?
Le deuxi=E8me aspect, apr=E8s la saisie, est la consultation :=20
limiter aussi le traffic sur la bande passante.
Access n'=E9tant pas du client-serveur, lors d'une requ=EAte,=20
l'ensemble du contenu de la table interrog=E9e est rapatri=E9=20
et ex=E9cut=E9 en local.
je me demandais si en interrogeant la base Access en=20
r=E9seau par Excel, via MS Query et ODBC, le traffic
en aurait =E9t=E9 all=E9g=E9 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
il faudrait que tu mette les blocages par défaut, quand même: cocher mode partagé cocher enregistrement modifié cocher ouvrir avec enregistrement verrouillés sur le formulaire mettre aussi verrouillage : Enr Modifié
prend aussi la précaution de placer cet événement: Private Sub Form_AfterUpdate() Me.Refresh End Sub dans le formulaire principal et tous les sous-formulaires. le tout devrait améliorer la situation.
AMHA, je réfléchirait fortement à une solution SQL serveur compte tenu du nombre d'utilisateurs.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Pierre Collombet" a écrit dans le message de news:297801c47e07$84a14990$ Bonjour
Je dois construire dans mon entreprise une base Access (version 97) en réseau. Cette base est destinée a être utilisée par 50 personnes en saisie et en consultation.
En fait, j'ai dédoublé la base (recopiage durant la nuit) pour qu'une serve à la saisie te l'autre à la consultation.
mon souci premier est de gérer les conflits d'accès en écriture à la table principale. En faisant des tests de saisie poussés sur 3 postes sumulatément, je me suis heurté à l'erreur d'éxécution 3202 " table actuellement verrouillé par un autre utilisateur".
Il est vrai que j'ai, peut-être, un peu "forcé" le test puisque j'ai rentré des dizaines d'enregistrements en une minute, mais ceci dans un souci de reproduire la saisie potentielle de 50 personnes simultanément.
pour parer à cette erreur, j'ai relevé dans les "options avancées" le paramètre "nombre de tentatives de mise à jour" de 2 à 5. Effectivement je n'ai pas retrouvé l'erreur, mais existe t'il d'autre(s) paramètre(s) permettant également de plus sécuriser et de gérer ce type d'erreur. je pense notamment au paramètre de "verrouillage" pour lequel je n'ai pécisé "aucun"
A noter que la saisie des infos se fait par un formulaire avec les émthodes "opendatabse", "openrecordset", "Addnew" et "update".
Dois-je peut être aussi faire deux sous-bases qui iront en alimenter une 3ème ?
Le deuxième aspect, après la saisie, est la consultation : limiter aussi le traffic sur la bande passante. Access n'étant pas du client-serveur, lors d'une requête, l'ensemble du contenu de la table interrogée est rapatrié et exécuté en local. je me demandais si en interrogeant la base Access en réseau par Excel, via MS Query et ODBC, le traffic en aurait été allégé ?
Je vous remercie d'une éventuelle réponse
Cordialement
Bonjour.
il faudrait que tu mette les blocages par défaut, quand même:
cocher mode partagé
cocher enregistrement modifié
cocher ouvrir avec enregistrement verrouillés
sur le formulaire mettre aussi verrouillage : Enr Modifié
prend aussi la précaution de placer cet événement:
Private Sub Form_AfterUpdate()
Me.Refresh
End Sub
dans le formulaire principal et tous les sous-formulaires.
le tout devrait améliorer la situation.
AMHA, je réfléchirait fortement à une solution SQL serveur compte tenu du
nombre d'utilisateurs.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Pierre Collombet" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:297801c47e07$84a14990$a501280a@phx.gbl...
Bonjour
Je dois construire dans mon entreprise une base Access
(version 97) en réseau.
Cette base est destinée a être utilisée par 50 personnes
en saisie et en consultation.
En fait, j'ai dédoublé la base (recopiage durant la nuit)
pour qu'une serve à
la saisie te l'autre à la consultation.
mon souci premier est de gérer les conflits d'accès en
écriture à la table principale.
En faisant des tests de saisie poussés sur 3 postes
sumulatément, je me suis heurté à l'erreur d'éxécution
3202 " table actuellement verrouillé par un autre
utilisateur".
Il est vrai que j'ai, peut-être, un peu "forcé" le test
puisque j'ai rentré des dizaines d'enregistrements en une
minute, mais ceci dans un souci de reproduire la saisie
potentielle de 50 personnes simultanément.
pour parer à cette erreur, j'ai relevé dans les "options
avancées" le paramètre "nombre de tentatives de mise à
jour" de 2 à 5.
Effectivement je n'ai pas retrouvé l'erreur, mais existe
t'il d'autre(s) paramètre(s) permettant également de plus
sécuriser et de gérer ce type d'erreur. je pense notamment
au paramètre de "verrouillage" pour lequel je n'ai
pécisé "aucun"
A noter que la saisie des infos se fait par un formulaire
avec les émthodes "opendatabse", "openrecordset", "Addnew"
et "update".
Dois-je peut être aussi faire deux sous-bases qui iront en
alimenter une 3ème ?
Le deuxième aspect, après la saisie, est la consultation :
limiter aussi le traffic sur la bande passante.
Access n'étant pas du client-serveur, lors d'une requête,
l'ensemble du contenu de la table interrogée est rapatrié
et exécuté en local.
je me demandais si en interrogeant la base Access en
réseau par Excel, via MS Query et ODBC, le traffic
en aurait été allégé ?
il faudrait que tu mette les blocages par défaut, quand même: cocher mode partagé cocher enregistrement modifié cocher ouvrir avec enregistrement verrouillés sur le formulaire mettre aussi verrouillage : Enr Modifié
prend aussi la précaution de placer cet événement: Private Sub Form_AfterUpdate() Me.Refresh End Sub dans le formulaire principal et tous les sous-formulaires. le tout devrait améliorer la situation.
AMHA, je réfléchirait fortement à une solution SQL serveur compte tenu du nombre d'utilisateurs.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Pierre Collombet" a écrit dans le message de news:297801c47e07$84a14990$ Bonjour
Je dois construire dans mon entreprise une base Access (version 97) en réseau. Cette base est destinée a être utilisée par 50 personnes en saisie et en consultation.
En fait, j'ai dédoublé la base (recopiage durant la nuit) pour qu'une serve à la saisie te l'autre à la consultation.
mon souci premier est de gérer les conflits d'accès en écriture à la table principale. En faisant des tests de saisie poussés sur 3 postes sumulatément, je me suis heurté à l'erreur d'éxécution 3202 " table actuellement verrouillé par un autre utilisateur".
Il est vrai que j'ai, peut-être, un peu "forcé" le test puisque j'ai rentré des dizaines d'enregistrements en une minute, mais ceci dans un souci de reproduire la saisie potentielle de 50 personnes simultanément.
pour parer à cette erreur, j'ai relevé dans les "options avancées" le paramètre "nombre de tentatives de mise à jour" de 2 à 5. Effectivement je n'ai pas retrouvé l'erreur, mais existe t'il d'autre(s) paramètre(s) permettant également de plus sécuriser et de gérer ce type d'erreur. je pense notamment au paramètre de "verrouillage" pour lequel je n'ai pécisé "aucun"
A noter que la saisie des infos se fait par un formulaire avec les émthodes "opendatabse", "openrecordset", "Addnew" et "update".
Dois-je peut être aussi faire deux sous-bases qui iront en alimenter une 3ème ?
Le deuxième aspect, après la saisie, est la consultation : limiter aussi le traffic sur la bande passante. Access n'étant pas du client-serveur, lors d'une requête, l'ensemble du contenu de la table interrogée est rapatrié et exécuté en local. je me demandais si en interrogeant la base Access en réseau par Excel, via MS Query et ODBC, le traffic en aurait été allégé ?