1

我现在有一个项目,我希望能够从第 3 方产品用于存储其信息的 Access 数据库中提取行。可能会有少量用户在我的“导出”过程中同时访问这个数据库,所以我有点担心数据完整性和并发访问。

当我的 .NET 导入过程(使用 LINQ/ADO.NET/?)尝试在其他人保存行的同时尝试从 MDB 中提取数据时,我可能会遇到问题吗?Access 的锁定如何工作?

4

3 回答 3

3

应该没有问题。问题只能发生在并发写入操作上。MS Access 的锁定基于 ldb 文件中的文件锁定。锁定仅发生在页面上,而不发生在完整的文件上。因为锁在 ldb 文件而不是 mdb 文件中,所以并行读取没有问题。

于 2008-09-25T18:55:51.360 回答
2

在之前使用 Access 的工作中(当我使用 2003 时),我遇到的唯一问题是偶尔读取会锁定当前读取上方和下方的行。但是,我相信这可能是我们应用程序的一个孤立问题。

于 2008-09-25T19:10:51.167 回答
1

当您打开数据库时,不要尝试以只读模式打开(尽管您可能认为这是有道理的)。当您是第一个用户时,Access 以只读模式打开 mdb 文件并且不创建 ldb,从而强制所有后续用户也处于只读模式。

于 2008-09-25T18:57:43.570 回答