Question

J'ai actuellement un projet dans lequel j'aimerais pouvoir extraire des lignes d'une base de données Access qu'un produit tiers utilise pour stocker ses informations. Un petit nombre d'utilisateurs accèderont probablement à cette base de données en même temps que mon " export " processus le fait, donc je suis un peu préoccupé par l'intégrité des données et l'accès simultané.

Est-ce que mon processus d'importation .NET (à l'aide de LINQ / ADO.NET /?) rencontrera probablement des problèmes lorsqu'il tente d'extraire des données de la MDB en même temps qu'une autre personne enregistre une ligne? Comment fonctionne le verrouillage d'accès?

Était-ce utile?

La solution

Il ne devrait y avoir aucun problème. Les problèmes ne peuvent se produire que lors d'opérations d'écriture simultanées. Le verrouillage à partir de MS Access basé sur les verrous de fichier dans le fichier ldb. Les verrous se produisent uniquement sur les pages et non sur le fichier complet. Parce que les verrous se trouvent dans le fichier ldb et non dans le fichier mdb, la lecture en parallèle ne pose aucun problème.

Autres conseils

Dans les travaux précédents avec Access (à l'époque où j'utilisais 2003), la seule chose que je rencontrais était qu'occasionnellement une lecture verrouillait les lignes juste au-dessus et au-dessous de la lecture actuelle. Cependant, je pense que cela a pu être un problème isolé avec notre application.

Lorsque vous ouvrez la base de données, n'essayez pas de l'ouvrir en mode lecture seule (même si cela peut sembler logique). Lorsque vous êtes le premier utilisateur, Access ouvre le fichier mdb en mode lecture seule et ne crée pas de ldb, ce qui oblige tous les utilisateurs suivants à être également en mode lecture seule.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top