File Sharing lock exceeded

I am starting another question on a topic I had asked about before.

Prior Lock Related Question

Since then the IT staff has manually changed the default Access lock limit by revising the registry on a couple machines based on this knowledge base article  This appeared to be successful in eliminating the issue.

http://support.microsoft.com/kb/815281LoLock Limit Article

I am again wondering if there is a way to alter this limit temporarily in code.  Their were some suggestion in the prior question that didn't appear to have any effect.  Rather than re-detailing everything here, please refer to the prior question for details.

Any way to alter the limit in code?  This is an Access 2003 MDE, running in Access 2003 runtime, on machines with Win7 Pro 64-bit operating system.
LVL 1
mlcktmguyAsked:
Who is Participating?
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
DAO.DBEngine.SetOption dbmaxlocksperfile, <some number>

Jim.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
Guess I should have read the other thread first<g>

There's no reason for the DBEngine.SetOption method not to work that I'm aware of.

Jim.
0
 
mlcktmguyAuthor Commented:
I'll give it another try.  What are the default locks and what <some number> would you recommend?
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
9,500 is the default.   As a test, I would set it abnormally high, say 200,000

Jim.
0
 
mlcktmguyAuthor Commented:
Thank you.  Once set will the setting persist until the user exits the application?  Or does it need to be reset periodically?
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<<Once set will the setting persist until the user exits the application?  >>

 Yes.

 Once they exit though, unless that line is re-executed again, the setting will be back to what's specified in the registry, which is 9,500 by default.

 The reason by the way the setting exists is to control a run away process from consuming all resources on a server.

  Back when Access started, one of the few server types out there was Novell, which needed protections like this or it could come to a halt.  The default setting harkens back to those days when working with 9,500 locks was a lot.

 In today's times, 9,500 locks is nothing and many routinely run with 50,000 - 100,000.  

 But if you need more then that, then it's worth figuring out why.  It may be legit because of table sizes and the process, but there may also be a problem and ways of optimizing it to consume less resources.

  Keep in mind that all that locking will raise concurrency issues if this is a process done when other users are on.

Jim.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.