473,835 Members | 2,282 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Error 3051

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
Apr 8 '06 #1
8 15406
You could try using A2000 to create a new (blank) database, disabling the
Name AutoCorrect options, remove all code references except the 2 required
ones, and then import the data from the old database (File | Get External |
Import.)

Run a compact/repair just to be sure, and you should now be able to use this
as the back end.

As you say, it is rare for the back end to corrupt. You might want to check
that both computers are using the same version of msjet40.dll (typically in
windows\system3 2), or at least 4.0.8xxx.0. (The minor version will probably
start with 9 on a fully patched Win2000 machine.) If you need the service
pack, you can reach it through:
http://support.microsoft.com/kb/239114

Other general suggestions for preventing corruption:
http://allenbrowne.com/ser-47.html

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"rdemyan via AccessMonster.c om" <u6836@uwe> wrote in message
news:5e7ccfdc7b 1e3@uwe...
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.

Apr 9 '06 #2
Hi Allen:

Thanks for the response. Your suggestions in previous posts and on your
website have really helped prevent corruption in my front end. Since I
started decompiling during development, I haven't experienced front-end
corruption in several months.

I essentially did what you suggested, but instead of a new database I used
one that was a month old and deleted all of the existing tables in it. Then
I imported the tables from the backend that was causing the problem with
A2003. This worked fine and A2003 could now link to the backend.

It seems to me that this might be an A2000 and A2003 issue. I've noticed
that A2K really bloats files. A2003 seems to compact to about half the size
I can achieve in A2K. But I don't know how susceptible it is to bloat. I'm
planning to do some tests where I import data to the backend tables via my
front end. The front end always bloats during the import (even though I
import the data to a holding table in a temporary database and all tables are
in the backend.). So I'll compare how A2K stacks up against A2003.

The version of Jet is the same on both PCs, namely version 4.0.8618.0.

Allen Browne wrote:
You could try using A2000 to create a new (blank) database, disabling the
Name AutoCorrect options, remove all code references except the 2 required
ones, and then import the data from the old database (File | Get External |
Import.)

Run a compact/repair just to be sure, and you should now be able to use this
as the back end.

As you say, it is rare for the back end to corrupt. You might want to check
that both computers are using the same version of msjet40.dll (typically in
windows\system 32), or at least 4.0.8xxx.0. (The minor version will probably
start with 9 on a fully patched Win2000 machine.) If you need the service
pack, you can reach it through:
http://support.microsoft.com/kb/239114

Other general suggestions for preventing corruption:
http://allenbrowne.com/ser-47.html
In 12 months of working on my app, I have never had a corruption problem
with

[quoted text clipped - 79 lines]
Thanks for any help. Once again, compact and repair leaves me very
nervous.


--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200604/1
Apr 9 '06 #3
I've had similar funny-business and incompatability between A2k3 and
A2k. In fact, I've had to stop the two or three out of 50 or so
machines running A2k3 from running one of the apps. I had to dilute a
good bit of the code in one mdb and turn it into an mde so the A2k3
folks could continue using it. Never had time to trouble-shoot enough
to figure out exactly where the problems were, but the DB did have
several custom class modules that once removed stopped causing trouble.
Since then I've improved the object model and things have run smoothly.

I've been meaning to tinker with A2k3 for a couple weeks, but haven't
had the time or inclination since it's been running fine since the
mods. I did have a lot of troublesome code errors early after A2k3 was
installed on that handful of machines. I'd continue to play around with
both and make sure you game test everything thoroughly before cutting
the app loose on A2k3, especially if the app is code rich.

I've also had an OLE server/ActiveX control error pop up on an A2k2
machine opening a form that worked fine till A2k3 got its hands on it.
I've tried recreating the form and it's subform structure. Everythhing
works fine when the form's class module is removed, but once the
subform's class module (all of about 5 lines of code) is plugged back
in, the OLE server error pops up again. The error now pops up on either
A2k2 or A2k3, so I've got some work to do to figure that one out.

Happy hunting.

Apr 9 '06 #4
Jamey, thank you for contributing your experience.

The fact that making an MDE helped suggests that the problem is (at least in
part) the kind of thing that a decompile solves. Each version of Access uses
a different compiled binary. Newer versions are able to use the binary of
the old, but not the reverse. So, if an A2003 machine modifies the binary in
some way, the A2000 machine has to recompile it in its binary, and so on.
This kind of thing does lead to weird and hard to track down errors.
Decompile solves the errors. Creating an MDE prevents it decompiling and so
the A2000 binary is stable in all versions.

Class modules are inherently less robust than standard modules. That does
not mean you cannot use them, but it does mean that you must be scrupulous
in the way you instantiate and destroy objects, and even then they are more
fragile. Again the MDE scenario could help, I suspect.

The OLE server/ActiveX error can be a symptom of the same problem (different
binaries corrupted). It could also be a symptom of a Name AutoCorrect error
if you have not yet turned that off in your application.

The artilce rdemyan was referring to about preventing corruption was
probably this one:
http://allenbrowne.com/ser-25.html

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Jamey Shuemaker" <ca*********@ya hoo.com> wrote in message
news:11******** **************@ z34g2000cwc.goo glegroups.com.. .
I've had similar funny-business and incompatability between A2k3 and
A2k. In fact, I've had to stop the two or three out of 50 or so
machines running A2k3 from running one of the apps. I had to dilute a
good bit of the code in one mdb and turn it into an mde so the A2k3
folks could continue using it. Never had time to trouble-shoot enough
to figure out exactly where the problems were, but the DB did have
several custom class modules that once removed stopped causing trouble.
Since then I've improved the object model and things have run smoothly.

I've been meaning to tinker with A2k3 for a couple weeks, but haven't
had the time or inclination since it's been running fine since the
mods. I did have a lot of troublesome code errors early after A2k3 was
installed on that handful of machines. I'd continue to play around with
both and make sure you game test everything thoroughly before cutting
the app loose on A2k3, especially if the app is code rich.

I've also had an OLE server/ActiveX control error pop up on an A2k2
machine opening a form that worked fine till A2k3 got its hands on it.
I've tried recreating the form and it's subform structure. Everythhing
works fine when the form's class module is removed, but once the
subform's class module (all of about 5 lines of code) is plugged back
in, the OLE server error pops up again. The error now pops up on either
A2k2 or A2k3, so I've got some work to do to figure that one out.

Happy hunting.

Apr 9 '06 #5
"rdemyan via AccessMonster.c om" <u6836@uwe> wrote in
news:5e7ccfdc7b 1e3@uwe:
So, I'm posting because I'm hoping some developers might provide
some insight, experience on what they do to minimize such
problems.


Sounds like an NTFS permissions problem. When you compact the
compacting user may be getting ownership of the file. Or it could be
that the permissions on the original file are set correctly, but the
permissions on the folder it's in are set differently.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Apr 9 '06 #6
"Allen Browne" <Al*********@Se eSig.Invalid> wrote in
news:44******** *************** @per-qv1-newsreader-01.iinet.net.au :
The fact that making an MDE helped suggests that the problem is
(at least in part) the kind of thing that a decompile solves


Not necessarily. In the case of both compacting and creating an MDE,
you're writing a new file, but in the case of the MDE you're keeping
the old file. NTFS permissions will depend on the permissions set on
the parent folder, which will be inherited by the new file.

The way to test this is to compact without having the original file
open and then comparing the original permissions to the permissions
on the newly created compacted MDB.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Apr 9 '06 #7
Thanks Allen.

I spent some time looking through the suggestions there last evening,
and honestly, I've migrated toward pretty well all of the suggestions
there by mere survival instinct. I didn't do very much of that when I
first got started, but as I've developed more and more apps and more
and more as a developer, or hack, or whatever it is that I've become
over the last couple years, I've implemented pretty well every one of
those suggestions. Funny how those things work.

Anyways, didn't know about the name autocorrect issue. In fact, I just
had a discussion the other night about its merits with another
developer, though I haven't tested it to see just how fool proof it is.
I'll take your advice for now, regardless, and shut 'er down on the
projects I've got going, especially those with the A2K/A2k3
crossbreeding problems.

Regards,
Jamey

Apr 10 '06 #8
That's great, Jamey.

Yes, most of the suggestions probably are reasonably intuitive to an
experienced developer.

Name AutoCorrupt is a real devil though. It is one of the first thing I
check out in any database I am asked to investigate, as it is the root of so
many evils.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Jamey Shuemaker" <ca*********@ya hoo.com> wrote in message
news:11******** *************@e 56g2000cwe.goog legroups.com...
Thanks Allen.

I spent some time looking through the suggestions there last evening,
and honestly, I've migrated toward pretty well all of the suggestions
there by mere survival instinct. I didn't do very much of that when I
first got started, but as I've developed more and more apps and more
and more as a developer, or hack, or whatever it is that I've become
over the last couple years, I've implemented pretty well every one of
those suggestions. Funny how those things work.

Anyways, didn't know about the name autocorrect issue. In fact, I just
had a discussion the other night about its merits with another
developer, though I haven't tested it to see just how fool proof it is.
I'll take your advice for now, regardless, and shut 'er down on the
projects I've got going, especially those with the A2K/A2k3
crossbreeding problems.

Regards,
Jamey

Apr 10 '06 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
4386
by: AIM | last post by:
Error in msvc in building inheritance.obj to build hello.pyd Hello, I am trying to build the boost 1.31.0 sample extension hello.cpp. I can not compile the file inheritance.cpp because the two files containing some templates: adjacency_list.hpp and mem_fn.hpp can not compile. Does anyone have any solutions?
5
16266
by: Tony Wright | last post by:
Hi, I am having a problem installing an msi for a web site. The error message I am getting is: "The specified path 'http://mipdev05/features/Fas2' is unavailable. The Internet Information Server might not be running or the path exists and is redirected to another machine. Please check the status of this virtual directory in the Internet Services Manager."
13
6623
by: deko | last post by:
I use this convention frequently: Exit_Here: Exit Sub HandleErr: Select Case Err.Number Case 3163 Resume Next Case 3376 Resume Next
0
2401
by: Aaron | last post by:
Hi Guys, I have a dbase installed on a network where the clints have linked tables to the database on the server. I found that i had to make some minor changes to the tables on the server where the client databases look to for their data after I made the changes I tried to open one of the clients databases and found that I was getting an error 3051 open exclusive where when the client tries to connect to the tables on the server it...
7
5035
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying. I created the websetup and built the MSI, have the bundled version. Copied to webserver and ran Websetup.msi. Said I had to remove old version, which I did, then reran WebSetup.msi and keeps giving me this error. "The installer was interrupted...
2
5756
by: rdemyan via AccessMonster.com | last post by:
I'm getting Error 3051 with the following snippet of code. What I'm trying to do is to open an update version on the server (ServerFile) to check it's version number in a front-end table(VersionRef) and compare it with the version number of the LocalFile which has the same front-end table. WorkgroupFileName is determined elsewhere. WorkgroupFileName, ServerFile and LocalFile are all correct (I've stepped through the code to verify that...
2
19506
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I will be writing this article intended for those who are in the same level, or maybe lower, of my technical knowledge. I would be using layman's words, or maybe, my own words as how I understand them, hoping, you will understand it the same way that...
3
2179
by: noseyneil | last post by:
I have a MS Access 2000 database running my wife's cross stitch business. We have it on two PCs both running XP, with one having a linked mde APP front end (PC 2) and one having the MDB back end and a linked MDE front end. The MDB back end is in a shared folder, however, on switching PC 2 on and signing into the database error message 3051 is displayed: "The Microsoft Jet database ebgine cannot open the file ... It is already open exculsively by...
0
2897
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I will be writing this article intended for those who are in the same level, or maybe lower, of my technical knowledge. I would be using layman's words, or maybe, my own words as how I understand them, hoping, you will understand it the same way that...
0
10523
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10560
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10233
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9345
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7766
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6966
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5636
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5804
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3993
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.