文件共享锁溢出 请增加MaxLocksperFile注册表项值

问题描述:

在复制数据粘贴到Access数据表时,或则将excell数据导入到Access数据库,操作大量数据记录时。

文件共享锁溢出 请增加MaxLocksperFile注册表项值

原因:

Access数据库,同时操作大量记录(9500条以上)时报错。
Microsoft JET Database Engine 错误 '80040e21'

处理办法1:在注册表修改MaxLocksPerFile每个文件的最大锁数

  1. 单击“开始”,然后单击“运行”。
  2. 键入 regedit,然后单击“确定”。

在注册表编辑器中,找到以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
  1. 在注册表编辑器的右窗格中,双击“MaxLocksPerFile”。
  2. 在“编辑 DWORD 值”对话框中,单击“十进制”。
  3. 根据需要修改“数值数据”框中的值,然后单击“确定”。

如果安装的office是64位系统位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0

如果还是没有找到尝试以下两个路径:

For Access 2007 running on Windows 32 bit (x86) locate the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE

For Access 2007 running on Windows 64 bit (x64) locate the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE

二、使用 SetOption 方法临时更改 MaxLocksPerFile

  1. 新建一个模块

在“立即窗口”中(可以按Ctrl+G显示立即窗口)运行该代码:

DAO.DBEngine.SetOption dbmaxlocksperfile ,15000

 

注意:该代码必须先引用 Microsoft DAO 3.6 对象库。

SetOption 方法临时覆盖每个文件的默认锁数。在设置MaxLocksPerFile 注册表项时设置每个文件的默认锁数。通过使用 SetOption 方法来设置新值。在关闭 DBEngine 对象之前该新值将一直有效。要使用第二种方法,请按照下列步骤操作:

要处理大型事务,请根据需要设置 MaxLocksPerFile 值,然后在会话中运行事务。

使用 SetOption 方法对 MaxLocksPerFile 设置所做的更改仅适用于当前会话。

注意:

MaxLocksPerFile 不能设置为无限大。如果您正在 Novell NetWare 服务器上工作,请不要更改该值,因为每个连接的最大服务器记录锁数是 10,000。

 

内容大部分来源:Access复制粘贴数据时提示MaxLocksPerFile的解决办法

 

 

 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值