Database 以只读方式打开MS Access数据库而不锁定它
我在MS Access中打开了一个*.mdb文件,明确表示我希望在“打开文件”对话框中以只读方式打开它。现在,我尝试在另一个地方进行更改,但它们总是无法保存到数据库,因为MS Access已将其锁定,因为我验证了它在*.mdb文件附近创建了一个*.ldb文件Database 以只读方式打开MS Access数据库而不锁定它,database,file,ms-access,locking,readonly,Database,File,Ms Access,Locking,Readonly,我在MS Access中打开了一个*.mdb文件,明确表示我希望在“打开文件”对话框中以只读方式打开它。现在,我尝试在另一个地方进行更改,但它们总是无法保存到数据库,因为MS Access已将其锁定,因为我验证了它在*.mdb文件附近创建了一个*.ldb文件 有没有办法让MS Access以只读方式打开文件而不锁定它?是的,你不能这样做 任何数据库都需要锁定,因为Access数据库只是一个文件,所以锁定需要写入 与SQL server不同,Access没有NOLOCK提示或readuncommi
有没有办法让MS Access以只读方式打开文件而不锁定它?是的,你不能这样做 任何数据库都需要锁定,因为Access数据库只是一个文件,所以锁定需要写入 与SQL server不同,Access没有
NOLOCK
提示或readuncommitted
隔离来执行不符合ACID的脏读
即使将文件标记为只读且不支持读取,仍会创建LDB文件
当然,您可以在文件系统级别解决这个问题,例如,在访问时复制文件并使用该副本。某些网络文件系统允许写时复制,允许多个用户访问同一文件,但只提交一个版本
当然,如果文件是只读但可锁定的,另一种方法是以只读独占模式打开文件。这不会生成LDB,也不会导致冲突或损坏读取,因为所有用户的所有写入都被拒绝。但它不允许其他用户进行任何操作。你所说的“在另一个地方的更改”是什么意思?无论数据库是否只读,都会在数据库打开时创建ldb。这不是分割数据库?@June7什么是分割数据库?好吧,你应该用谷歌搜索这个主题。我刚刚了解到,以独占只读方式打开db不会创建锁定文件,但也无助于您的情况。你指的是什么样的变化——数据还是设计?@June7好的,完成了。我不知道Access具有此功能。我将在其他地方进行的更改是数据。