Pregunta

En este momento tengo un proyecto en el que me gustaría poder extraer filas de una base de datos de Access que un producto de terceros utiliza para almacenar su información. Es probable que una pequeña cantidad de usuarios accedan a esta base de datos al mismo tiempo que " exportar " El proceso lo hace, por lo que estoy un poco preocupado por la integridad de los datos y el acceso simultáneo.

¿Es probable que tenga problemas con mi proceso de importación .NET (usando LINQ / ADO.NET /?) cuando esté tratando de extraer datos de la MDB al mismo tiempo que otra persona está guardando una fila? ¿Cómo funciona el bloqueo de Access?

¿Fue útil?

Solución

No debería haber problema. Los problemas solo pueden ocurrir en operaciones de escritura concurrentes. El bloqueo desde MS Access basado en bloqueos de archivos en el archivo ldb. Los bloqueos se producen solo en las páginas y no en el archivo completo. Debido a que los bloqueos están en el archivo ldb y no en el archivo mdb, no hay problemas con la lectura paralela.

Otros consejos

En trabajos anteriores con Access (cuando estaba usando 2003 para cosas), lo único que encontré fue que, ocasionalmente, una lectura bloqueaba filas justo por encima y por debajo de la lectura actual. Sin embargo, creo que esto puede haber sido un problema aislado con nuestra aplicación.

Cuando abra la base de datos, no intente abrirla en modo de solo lectura (aunque podría pensar que tiene sentido). Cuando es el primer usuario en ingresar, Access abre el archivo mdb en modo de solo lectura y no crea un ldb, lo que obliga a todos los usuarios posteriores a estar en modo de solo lectura.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top