In 12 months of working on my app, I have never had a corruption problem with
the backends, often with the front end but never the backends.
So, of course, now that I'm planning to roll a new version of the app out
next week, I suddenly had a problem.
Here's the development configuration
1) Computer #1
a) Access 2000 - app is developed on this machine
b) A Folder on this machine acts as a test server folder for the backends:
Backend #1 and Backend #2
2) Computer #2
a) Access 2003 - client plans to switch soon, so I have to test A2003
So today, I suddenly got error 3051 when Computer #2 (A2003) linked to
Backend #1. This error is:
"The Microsoft Jet database engine cannot open the file 'Backend #1'. It is
already opened exclusively by
another user, or you need permission to view its data.
Backend #2 was linked fine.
Computer #1 did not have the app open so there was no other front end
attached to either backend. I checked for a .ldb file for Backend #1 and
there was none.
Yesterday, however, there was major bloat of this backend from 45 MB to 110
MB, so I compacted it yesterday on Computer #1. Today, was the first day that
I tried to open "compacted" Backend#1 on Computer #2. As noted, I received
error 3051.
HOWEVER, A2K on Computer #1 was able to link to "compacted" Backend#1 just
fine. I could open "compacted" Backend#1 on Computer #1 just fine, but not on
Computer #2 (same 3051 error).
Because I've never had a problem with a backend, I'm very bad about backing
up the backends. So, naturally, I didn't have a current copy to try. But I
did replace Backend #1 with a version that is about 1 month old. A2003 on
Computer #2 linked to it just fine.
So, I got around the problem by taking the month old Backend #1 backup and
deleting all tables in it. Then I imported all the tables from the current
"compacted" Backend #1 (the backend that caused Error 3051 with A2003 on
Computer #2) into the month old backup. Then I tried linking A2003 on
Computer #2 to the backend backup (with the imported current tables) and
everything worked just fine.
This is what drives me nuts about Access. How am I going to handle this kind
of problem when a client has this occur to them without getting personally
involved.
So, I'm posting because I'm hoping some developers might provide some insight,
experience on what they do to minimize such problems.
I am including a utility with my app that will use the Windows Task Scheduler
to backup the backends nightly, which should help, but I don't see how that
will stop this problem.
My limited experience with A2003, I just got it a week ago, is that it does
seem to be less prone to bloat and compacts to a smaller size.
But the really annoying thing is that the "damaged" backend file worked fine
with A2000, but not with A2003. Is this because the compact procedures are
different and may have caused the problem?
Thanks for any help. Once again, compact and repair leaves me very nervous.
--
Message posted via http://www.accessmonster.com