MS Access数据访问限制
时间:2020-03-06 14:44:27 来源:igfitidea点击:
我现在有一个项目,我希望能够从第3方产品用来存储其信息的Access数据库中提取行。在我的"导出"过程的同时,可能会有少量用户访问此数据库,因此我有点担心数据的完整性和并发访问。
当我尝试同时从其他人保存数据的MDB中提取数据时,.NET导入过程(使用LINQ / ADO.NET /?)是否可能遇到问题? Access的锁定如何工作?
解决方案
应该没有问题。仅在并发写入操作上可能会出现问题。 MS Access的锁定基于ldb文件中的文件锁定。锁定仅在页面上发生,而不在完整文件上发生。因为锁在ldb文件中而不在mdb文件中,所以并行读取没有问题。
当我们打开数据库时,请勿尝试以只读模式打开(尽管我们可能认为这很有意义)。当我们是第一个用户时,Access会以只读模式打开mdb文件,并且不会创建ldb,从而迫使所有后续用户也都处于只读模式。
在以前使用Access的情况下(当我使用2003进行处理时),我遇到的唯一问题是,偶尔读取会锁定当前读取上方和下方的行。但是,我认为这可能是我们应用程序中的一个孤立问题。