Compact/Repair problems

AC5FF

Registered User.
Local time
Today, 17:22
Joined
Apr 6, 2004
Messages
552
I've got a multi-user database that I occasionally like to compact/repair. It quickly will go from a 80Mg file to a 200+Mg file. Since it is a DB that is utilized by numerous users the guy that originally designed it (long since gone) put in a function that would kick out everyone. This has always worked great - until recently.

When I attempt to perform a compact/repair operation; if another user is in the DB I will get an error msg stating machine YYY, user ADMIN has the DB locked; so I run the KICK function and all is good. Now, when I attempt to compact/repair I get that same error message; but it is saying that I have the db locked on the computer I am currently at. I get this msg regardless of what PC I am on. I have rebooted and still have the problem, I have gone to the computer that holds the database and still get the same errors.

There have been no changes to the DB or the pc that holds the DB. I just can't get it to perform the compact/repair.

Any ideas on what I may be missing??? Current file size has reached over 500Mg!

Thanks!
 
Do you have any code that does something like Export to Excel? Something like that could be holding things open if it wasn't set up right (I think). Also, take a look at Allen Browne's website as it may hold some clues too (perhaps).
 
I've got a multi-user database that I occasionally like to compact/repair. It quickly will go from a 80Mg file to a 200+Mg file. Since it is a DB that is utilized by numerous users the guy that originally designed it (long since gone) put in a function that would kick out everyone. This has always worked great - until recently.

When I attempt to perform a compact/repair operation; if another user is in the DB I will get an error msg stating machine YYY, user ADMIN has the DB locked; so I run the KICK function and all is good. Now, when I attempt to compact/repair I get that same error message; but it is saying that I have the db locked on the computer I am currently at. I get this msg regardless of what PC I am on. I have rebooted and still have the problem, I have gone to the computer that holds the database and still get the same errors.

There have been no changes to the DB or the pc that holds the DB. I just can't get it to perform the compact/repair.

Any ideas on what I may be missing??? Current file size has reached over 500Mg!

Thanks!


When you C&R, it won't do it if there is an .ldb (record locking file) with the same name as the .mdb present. The .ldb is created immediately you open any tbl. It could be that 1) the .ldb has been "left" due to an incorrect shutdown, or 2) when you load the db it opens a tbl.

If 1) is the problem delete the .ldb file. It will probably show an older date than the .mdb. (Do a b/up 1st).
 
I love these forums... I have been trying to C/R this all week and getting no where. I posted this question - went back into my DB and ... it worked. I did nothing different; it just worked! Wierd..

SOS: Thx for that link. I browsed a little last night - but i'm adding it to my favorites. Lots of good information there...

WIS: I understand what you mean by the LDB file; but that file is going to be there the minute I open the database fresh just to C/R it. Right?

Regardless - :D Problem solved. I think my DB was just worried when it saw me posting the question here :p
 
WIS: I understand what you mean by the LDB file; but that file is going to be there the minute I open the database fresh just to C/R it. Right?

I wasn't completely accurate when I described the .ldb being created - I'm surprised that no-one picked me up (except you) and explained how it worked.

This is my take on it:

For a single db:
The .ldb file is created immediately you open the db irrespective of whether or not you've opened a tbl.

Split db (fe and be are both .mdb's):

When you open the fe it immediately creates the fe .ldb file. However, it only creates the be .ldb file the moment a tbl is opened. However, if you open the be directly, it creates the be .ldb whether or not a tbl is opened.

So it appears that to C&R only 1 "entry" can be in the .ldb file (I'm guessing that the "entry" in the .ldb file has to be the same as the "computer name" that has opened the .mdb).

So if you have a number of fe's linked to a be and one of the fe's goes down whilst it has a tbl open, then a "rogue" .ldb is left for the be with the "entry" of the PC that has gone down. If you try to C&R the be by directly opening it, then the be .ldb would have 2 "entries" in it and reject doing the C&R.

Please correct me if I'm wrong in these assumptions.
 

Users who are viewing this thread

Back
Top Bottom