论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法)


通过opendatasource函数删除access中的数据,报错:

Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法。请增加 MaxLocksPerFile 注册表项值。

论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法)_第1张图片


那么,有什么办法能解决这个问题呢?

实际上,从报错信息上,我们也可以大概的知道,可以通过增加MaxLocksPerFile 注册表项值 来解决这个问题。


1、通过实验发现,如果最多删除9494条数据,就不会报错:


2、当删除9495就开始报错:

论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法)_第2张图片

3、通过修改注册表项,提高MaxLocksPerFile 到20000来解决这个问题。

首先,要打开开始 -》 运行-》输入:regedit ,然后回车,打开注册表编辑器。

然后,开始修改:





论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法)_第3张图片


4、再次执行删除语句时,不报错了。

论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法)_第4张图片


5、需要特别注意的是,虽然我们修改了这个值,但是还是会有数量上的限制。

所以说我们的这个方法,只是部分的解决了这种问题。


如果要想本质解决这个问题,那么可以通过 分批删除,而不是一次删除所有数据,来解决。



你可能感兴趣的:(论坛中的问题:48(Microsoft.ACE.OLEDB.15.0 文件共享锁定数溢出 报错的解决方法))