When one or more users process many transactions in a
multi-user environment, the transactions may fail with the following error
File sharing lock count exceeded. Increase
MaxLocksPerFile registry entry.
The error occurs if the number of locks required to perform
a transaction exceeds the maximum number of locks per file.
This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
How to back up and restore the registry in Windows
To work around this problem, increase the maximum number
of locks per file. To do this, use one of the following methods.
Method 1: Set the registry key to MaxLocksPerFile to increase the maximum number of locks per file
- Click Start, and then click
- Type regedit, and then click
- Use the appropriate method:
- In Microsoft Access 2000, in Microsoft Access 2002, and in Microsoft Office Access 2003 that are running on a 32-bit Windows operating system, use Registry Editor to locate the following registry key:
In Microsoft Access 2000, in Microsoft Access 2002, and in Microsoft Office Access 2003 that are running on a 64-bit Windows operating system, use Registry Editor to locate the following registry key:
- In Microsoft Office Access 2007 that is running on a 32-bit Windows operating system, use Registry Editor to locate the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
In Microsoft Office Access 2007 that is running on a 64-bit Windows operating system, use Registry Editor to locate the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
- In the right pane of Registry Editor, double click
- On the Edit DWORD Value dialog box, click
- Modify the value of the Value data box as
required, and then click OK.
This method changes the Windows registry setting for all
applications that use the Microsoft Jet database engine version 4.0.
Method 2: Use the SetOption method to temporarily change MaxLocksPerFileNote
The sample code in this article uses Microsoft Data Access Objects. For this code to run correctly, you must reference the Microsoft DAO 3.6 Object Library. To do so, click References
on the Tools
menu in the Visual Basic Editor, and make sure that the Microsoft DAO 3.6 Object Library
check box is selected.
method temporarily overrides the default number of locks per
file. You set the default number of locks per file when you set the MaxLocksPerFile
registry key. You set the new value by using the SetOption
method. The new value is valid until you close the DBEngine
object. To use Method 2, follow these steps:
- Open Microsoft Access.
- Open a database, and then press Alt+F11 to launch the Visual Basic editor.
- On the Microsoft Visual Basic -<Database
Name>-[<Module Name> (Code)] window, click Immediate
Window in the View menu.
- In Immediate Window, enter the following
- Press the ENTER key to run the line of code.
Note This temporarily sets the MaxLocksPerFile value to 15,000.
To process large transactions, set the MaxLocksPerFile
value to meet your requirement, and then run the transactions in
Changes you make to the MaxLocksPerFile
setting by using the SetOption
method are available only for the current session.
setting determines the maximum number of locks Microsoft Jet
places against a file. The default MaxLocksPerFile
value is 9,500. However, do not change this value if you are
working on a Novell NetWare server, because the maximum server record locks per
connection is 10,000.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
Error "3050 Could Not Lock
File" when you connect to a Jet database on a Novell server
For more information, visit the following Microsoft
Knowledge Base articles:
You receive an "File sharing lock count exceeded" error message when you synchronize two replicas in Access 2000
"There isn't enough disk space or memory" error message when you perform an operation on a table in Access 2000