Microsoft JET Database Engine error '80040e21'

Microsoft JET Database Engine error '80040e21',第1张

症状
当一个或多个用户在多用户环境中处理许多事务时,事务可能失败并出现以下错误消息:
File sharing lock count exceededIncrease MaxLocksPerFile registry entry
回到顶端
原因
如果执行一个事务所需的锁数超过每个文件的最大锁数,就会出现此错误。
回到顶端
替代方法
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装 *** 作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。 要解决此问题,请增加每个文件的最大锁数。为此,请使用下列方法之一:
回到顶端
方法 1:设置 MaxLocksPerFile 的注册表项以增加每个文件的最大锁数
1 单击“开始”,然后单击“运行”。
2 键入 regedit,然后单击“确定”。
3 在注册表编辑器中,找到以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\40\Engines\Jet 40
4 在注册表编辑器的右窗格中,双击“MaxLocksPerFile”。
5 在“编辑 DWORD 值”对话框中,单击“十进制”。
6 根据需要修改“数值数据”框中的值,然后单击“确定”。
注意:该方法可为所有使用 Microsoft Jet 数据库引擎 40 版的应用程序更改 Windows 注册表设置。
回到顶端
方法 2:使用 SetOption 方法临时更改 MaxLocksPerFile
注意:本文中的代码示例使用 Microsoft 数据访问对象。为使该代码正常运行,您必须引用 Microsoft DAO 36 对象库。为此,请在 Visual Basic 编辑器中单击“工具”菜单上的“引用”,并确保选中“Microsoft DAO 36 对象库”复选框。 SetOption 方法临时覆盖每个文件的默认锁数。在设置 MaxLocksPerFile 注册表项时设置每个文件的默认锁数。通过使用 SetOption 方法来设置新值。在关闭 DBEngine 对象之前该新值将一直有效。要使用第二种方法,请按照下列步骤 *** 作: 1 打开 Microsoft Access。
2 打开一个数据库。在左窗格中,单击“模块”。
3 在右窗格中,右键单击“<模块名>”,然后单击“设计视图”。
注意:如果没有现有模块,请创建一个新模块。
4 在 “Microsoft Visual Basic -<数据库名>-[<模块名>(代码)]”窗口中,单击“视图”菜单中的“立即窗口”。
5 在“立即窗口”中,输入以下代码:DAODBEngineSetOption dbmaxlocksperfile
,15000

6 按 Enter 键运行此行代码。
注意:这会将 MaxLocksPerFile 值临时设置为 15,000。
要处理大型事务,请根据需要设置 MaxLocksPerFile 值,然后在会话中运行事务。
使用 SetOption 方法对 MaxLocksPerFile 设置所做的更改仅适用于当前会话。

以上就是关于Microsoft JET Database Engine error '80040e21'全部的内容,包括:Microsoft JET Database Engine error '80040e21'、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10128947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存