Bonjour,
Je développe sous Access depuis la version 1.0 (US) qui de mémoire doit remonter à 1990 environ.
Je distribue des applications tournant sous Runtime et toujours organisées de la manière suivante:
Une base "Programme" frontale installée sur chaque poste en local dans laquelle sont attachées les tables d'une base "dorsale" souvent située sur un volume partagé du réseau s'il y en a un.
Je n'utilise pas de macro à part une AutoExec pour le démarrage, tous les traitements sont faits en VBA.
Tous les accès aux données effectués dans le code utilisent les objets DAO.
Si tout c'est bien passé pendant plusieurs années (j'ai compté jusqu'à 60 utilisateurs simultanés sur certaines applications), tout s'est effondré le 15 mai 2008.
A partir de ce jour là sur de nombreux site - mais pas tous - qui utilisaient une de ces applications en réseau et comptaient plus de 3 utilisateurs simultanés les dégradations de la base de données sont apparues à une cadence élevée (jusqu'à 10 fois par jour).
Autant dire que ça crée du contentement chez les utilisateurs…
Après de longues recherches et la consultation - payante - de Microsoft sur le sujet il s'avère que le problème vient d'un simple indicateur d'état de la base qui se positionne en anomalie sans qu'aucune ligne ne soit endommagée. Pas de conséquence grave donc, si ce n'est qu'il est nécessaire de déconnecter tout le monde avant de procéder à la réparation de la base (compactage), et quand c'est 10 fois dans la matinée sur une application de gestion commerciale en pleine séquence de saisie de commande et préparation des expéditions vous en entendez vite parler!
N'ayant jamais résolu ce problème et ne disposant pas des moyens de réécrire mes applications avec un autre langage ni de les passer sous SQL Serveur, j'ai depuis imposé que les sites comportant plus de 3 utilisateurs simultanés utilisent leur application uniquement dans des sessions RDP.
En effet, le fait de s'affranchir des éventuelles faiblesses du réseau semble résoudre le problème car sur ces sites le taux de dégradation de la base de données est maintenant proche de zéro.
Je précise toutefois que pour toutes les configuration, la base de données fait l'objet d'un compactage de maintenance au moins une fois par 24H.
Voilà, je vous livre mon expérience tel-quel au cas où vous rencontreriez le même problème.
Bon code.
Partager