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

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

有帮助吗?

解决方案

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

其他提示

在以前的Access工作中(当我使用2003年的东西时),我遇到的唯一一件事就是偶尔读取会锁定当前读取的上方和下方的行。但是,我认为这可能是我们申请的一个孤立问题。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top