Solved

File Sharing Lockout mystery - Error 3502

Posted on 2000-03-15
7
490 Views
Last Modified: 2008-02-20
Greetings To All.
===========

I have several genalogical databases with thousands of records.

Today, for the first time, I encountered the error message:

"File sharing lockout exceeded.
Increase MaxLocksPerFile registry entry"
Error 3052

I am out of my depth since I already have other tables with a similar number of records.

Your words of wisdom are eagerly awaited.

robinski
0
Comment
Question by:robinski
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 2

Expert Comment

by:repstein
ID: 2622310
I am not sure why you are running into a MaxLocks problem, but here is how to increase the number of locks allowed:

Run regedit

There may be several MaxLocksPerTable entries. I'd suggest changing them all, although you probably only need to fix the latest version.

Navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet

Then on the main toolbar select:
Edit | Find and enter
MaxLocksPerFile

The MaxLockPerFile key will be displayed. Double click on the Name to open the change value dialog box.

The default is 9500 (251c in hex)

Increase this value (eg, to 10000 decimal or 2710 hex)

Hit the F3 key
Increase the next occurence of the key

Repeat the F3, replace until no more are found

(you can click Cancel button to stop the search)

Then close the regedit program.

A few warnings about the registry, if you haven't been here before.

Any changes you make are immediate. Be very careful in here as to what you change, as you can really screw up your machine. The area you are in (Software) is relatively safe, however.

Richard


0
 
LVL 1

Accepted Solution

by:
spruce22 earned 100 total points
ID: 2622362
hi robinski,

From Access help, this error occurs on recordset objects, and may be due to the amount of memory available on the computer, the size of rows in the recordset, or network operating system restrictions. Were you running other programs that you usually don't when this occured? Have there been any recent network changes?  If not, could you explain or post the code where this error is occuring, and maybe give a descripiton of the table structure?  Other experts may be able to help you with your question immediately, but I would need a little more information to be of assistance.

You could simply increase the MaxLocksPerFile registry value, but I'd look into why the error is occuring before jumping into modifying Jet registry settings.
 
spruce22
0
 

Author Comment

by:robinski
ID: 2622458
Hi Spruce22

There is no network involved.

The table structure is, broadly,

Seven text fields.

No obvious complications.

repstein
======

I will follow your advice and report later.

Thanks to both.

robinski
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 2

Expert Comment

by:repstein
ID: 2623227
I poked around in Microsoft knowledgebase and came up with the following (in addition to what spruce22 suggested as possible causes).

In Access 97 you can get error 3052 during synchronization of a replica if the files are huge and you have added many new records. The fix is to edit the registry as I described.

http://support.microsoft.com/support/kb/articles/Q173/0/06.ASP

For Access 2000 the problem and the fix is the same. See
http://support.microsoft.com/support/kb/articles/Q198/6/33.asp

************************************

If you want to set the MaxLocksPerFile temporarily within your database, you can use the SetOption method. (search in Access for SetOption in help for more details). Briefly:

DIM nTempLocksPerFile as variant
nTempLocksPerFile = 10000
SetOption dbMaxLocksPerFile, nTempMaxLocksPerFile      

Richard

0
 
LVL 2

Expert Comment

by:repstein
ID: 2623232
In my example, that should have read:

SetOption dbMaxLocksPerFile, nTempLocksPerFile

which I'm sure you realized.

Richard
0
 

Author Comment

by:robinski
ID: 2625036
spruce22
======

Rebooting released memory and the job is done.  

I should have thought of that.

robinski
0
 
LVL 1

Expert Comment

by:spruce22
ID: 2630594
robinski:
Glad you were able to fix your problem, even though it only required a reboot. That's fixed many "mysteries" for me as well, but the solution doesn't always come to mind at first.  At least you know your datbase isn't sick, or performing such complex operations that it exceeds Jet's default MaxLocksPerFile settings.

spruce22
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question