Advanced: Requires expert coding, interoperability, and multiuser skills.
File sharing lock count exceeded (Error 3052).
Important 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:
- Quit Microsoft Access.
- Click Start and then click Run.
- In the Open box, type regedit.
- Locate the HKEY_LOCAL_MACHINE registry folder.
- Expand HKEY_LOCAL_MACHINE until you locate the SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0 folder.
- Click on the Jet 4.0 folder to view its contents.
- Select the MaxLocksPerFile entry; on the Edit menu, click Modify.
- In the Edit DWORD Value dialog box, select Decimal and increase the number in the Value Data box.
- Click OK to save the MaxLocksPerFile setting.
- Quit the Registry Editor.
- Start Microsoft Access and synchronize the replicas.
However, the Jet database engine does not split the transaction when it synchronizes two replicas. If the transaction cannot be completed within the limit specified in the MaxLocksPerFile setting unless it is split into parts, you receive the error described in the "Symptoms" section, and the synchronization does not occur.
Steps to Reproduce ProblemWARNING: The following steps may require up to 400 MB of free disk space. The sample procedure fills a table with a large amount of data; running it may take a long time, during which your CPU is unavailable.
- Start Microsoft Access and open a new blank database.
- Create the following table:
Field Name Data Type Field Size ID Number Long Integer Field1 Text 50 Field2 Text 50 Field3 Text 50 Field4 Text 50
- Save the table as tblTable1. When asked if you want to create a primary key, click No.
- On the Tools menu, point to Replication, and click Create Replica. When prompted to close the database, click Yes. When prompted to make a backup, click No.
- In the Location of New Replica dialog box, note the location and file name of the new replica. Click OK.
- Click OK when prompted that the Design Master was successfully created.
- Open a new, blank module.
- On the Tools menu, click References.
- Scroll down through the Available References and click to select the check box for the Microsoft DAO 3.6 Object Library. Then click OK.
- Type the following procedure:
Function Filler(lngNumRecs As Long)
Dim lngLoopCount As Long
Dim strFillerString As String
Dim db As Database
Dim rs As Recordset
strFillerString = ""
For lngLoopCount = 1 To 40
strFillerString = strFillerString & "x"
Set db = CurrentDb
Set rs = db.OpenRecordset("tblTable1")
For lngLoopCount = 1 To lngNumRecs
rs![ID] = lngLoopCount
rs![Field1] = strFillerString
rs![Field2] = strFillerString
rs![Field3] = strFillerString
rs![Field4] = strFillerString
MsgBox "Process Completed."
- Save the module as Module1. Type the following line in the Immediate window, and then press ENTER: NOTE: This procedure may take a long time to run and may require as much as 400 MB of free disk space. After the process has completed, continue on to the next step.
- On the Tools menu, point to Replication, and then click Synchronize Now.
- In the Synchronize Database '<name>' dialog box, click OK.
- Click Yes to close the database and begin synchronization.
For additional information about replication, please see the following article in the Microsoft Knowledge Base:
Article ID: 198633 - Last Review: Mar 15, 2008 - Revision: 1