Home All Groups Group Topic Archive Search About

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

Author
17 Jun 2009 3:44 AM
curly101
Our Windows Server 2003 SP2 was running fine for a long time. All of a sudden
last week, any website that has asp pages, and an Access database gets the
following error:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine
cannot open the file '(unknown)'. It is already opened exclusively by another
user, or you need permission to view its data.

/default.asp, line 9

Line 9: rsBio_cmd.ActiveConnection = MM_connMGW_STRING

Now, we have checked every folder that holds the database, as well as the
database and the permissions are all correct. What we are puzzled about is
that every website, not just every page on a particular website, but every
asp page that connects to an access database, globally, is getting the same
errors.

We've uninstalled and reinstalled asp, and checked everything we could think
of. Any light that someone could shed on our dilema would be extremely
helpful.

Author
17 Jun 2009 8:08 AM
Adrienne Boswell
Gazing into my crystal ball I observed =?Utf-8?B?Y3VybHkxMDE=?=
<curly***@discussions.microsoft.com> writing in
Show quoteHide quote
news:E3B9F7B4-527E-4430-ABB4-82E70F696EB8@microsoft.com:

> Our Windows Server 2003 SP2 was running fine for a long time. All of a
> sudden last week, any website that has asp pages, and an Access
> database gets the following error:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>
> [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database
> engine cannot open the file '(unknown)'. It is already opened
> exclusively by another user, or you need permission to view its data.
>
> /default.asp, line 9
>
> Line 9: rsBio_cmd.ActiveConnection = MM_connMGW_STRING
>
> Now, we have checked every folder that holds the database, as well as
> the database and the permissions are all correct. What we are puzzled
> about is that every website, not just every page on a particular
> website, but every asp page that connects to an access database,
> globally, is getting the same errors.
>
> We've uninstalled and reinstalled asp, and checked everything we could
> think of. Any light that someone could shed on our dilema would be
> extremely helpful.
>

Do you have anyone accessing the file? Check processes to see if there
might be an unauthorized user accessing the file.

--
Adrienne Boswell at Home
Arbpen Web Site Design Services
http://www.cavalcade-of-coding.info
Please respond to the group so others can share
Are all your drivers up to date? click for free checkup

Author
17 Jun 2009 8:29 AM
Daniel Crichton
curly101 wrote  on Tue, 16 Jun 2009 20:44:01 -0700:

Show quoteHide quote
> Our Windows Server 2003 SP2 was running fine for a long time. All of a
> sudden  last week, any website that has asp pages, and an Access
> database gets the  following error:

> Microsoft OLE DB Provider for ODBC Drivers error '80004005'

> [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database
> engine  cannot open the file '(unknown)'. It is already opened
> exclusively by another  user, or you need permission to view its data.

> /default.asp, line 9

> Line 9: rsBio_cmd.ActiveConnection = MM_connMGW_STRING

> Now, we have checked every folder that holds the database, as well as
> the  database and the permissions are all correct. What we are puzzled
> about is  that every website, not just every page on a particular
> website, but every  asp page that connects to an access database,
> globally, is getting the same  errors.

> We've uninstalled and reinstalled asp, and checked everything we could
> think  of. Any light that someone could shed on our dilema would be
> extremely  helpful.


What to the permissions look like on the TEMP folder? The Jet driver uses
temp files, and if the permissions don't allow creating of these files then
this could be the cause of the problem. Given that this is affecting every
Access database on your system this is where I'd look. You also might want
to run the MDAC component checker in case something has been installed that
has downgraded part of the data access layer.

--
Dan
Author
17 Jun 2009 11:14 AM
Bob Barrows
curly101 wrote:
> Our Windows Server 2003 SP2 was running fine for a long time. All of
> a sudden last week, any website that has asp pages, and an Access
> database gets the following error:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'

Why ODBC? See http://www.aspfaq.com/show.asp?id=2126

>
> [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database
> engine cannot open the file '(unknown)'. It is already opened
> exclusively by another user, or you need permission to view its data.
>
This is always a permissions problem. All users of an mdb file require
Modify permissions for the _folder containing the file_.  You see, in order
for multi-user activity to be supported, users must be able to create,
modify _and delete_ a locking file with an extension of .ldb in the folder
containing the .mdb file. Without the .ldb file, the database can only be
opened exclusively.

Identifying the user that requires permissions is usually the problem with
ASP. If your site is using Anonymous access, then the IUSR_machinename
account is the one that requires the folder-level permission. If Anonymous
is disabled and you are using Integrated authentication, then the client's
domain account is the one that requires permissions.

As Daniel says, sometimes permissions for the Temp folder are an issue,
especially with the ODBC driver, but this generally raises a different error
message when incorrect. I feel pretty confident in my assertion that the
database folder permissions are your issue.

PS. I once saw a permissions issue caused by compacting/repairing a Jet
database: during the course of the process, permissions for the file itself
were removed. But you said you had checked that out.

--
Microsoft MVP - ASP/ASP.NET - 2004-2007
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Author
17 Jun 2009 4:29 PM
curly101
Thanks for all the direction.
I've been told by everyone that it is a permissions problem, and I agree as
well. It is finding the exact permissions/folder that is the problem.

Looking at this after reading your replies, you might have hit it on the
head with it being the Temp folder. Right now, the Temp folder has Full
Control selected. Which permissions for the IUSR_machineaccount should be
Allowed?

Thanks!

Show quoteHide quote
"Bob Barrows" wrote:

> curly101 wrote:
> > Our Windows Server 2003 SP2 was running fine for a long time. All of
> > a sudden last week, any website that has asp pages, and an Access
> > database gets the following error:
> >
> > Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>
> Why ODBC? See http://www.aspfaq.com/show.asp?id=2126
>
> >
> > [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database
> > engine cannot open the file '(unknown)'. It is already opened
> > exclusively by another user, or you need permission to view its data.
> >
> This is always a permissions problem. All users of an mdb file require
> Modify permissions for the _folder containing the file_.  You see, in order
> for multi-user activity to be supported, users must be able to create,
> modify _and delete_ a locking file with an extension of .ldb in the folder
> containing the .mdb file. Without the .ldb file, the database can only be
> opened exclusively.
>
> Identifying the user that requires permissions is usually the problem with
> ASP. If your site is using Anonymous access, then the IUSR_machinename
> account is the one that requires the folder-level permission. If Anonymous
> is disabled and you are using Integrated authentication, then the client's
> domain account is the one that requires permissions.
>
> As Daniel says, sometimes permissions for the Temp folder are an issue,
> especially with the ODBC driver, but this generally raises a different error
> message when incorrect. I feel pretty confident in my assertion that the
> database folder permissions are your issue.
>
> PS. I once saw a permissions issue caused by compacting/repairing a Jet
> database: during the course of the process, permissions for the file itself
> were removed. But you said you had checked that out.
>
> --
> Microsoft MVP - ASP/ASP.NET - 2004-2007
> Please reply to the newsgroup. This email account is my spam trap so I
> don't check it very often. If you must reply off-line, then remove the
> "NO SPAM"
>
>
>
Author
17 Jun 2009 5:25 PM
Bob Barrows
curly101 wrote:
> Thanks for all the direction.
> I've been told by everyone that it is a permissions problem, and I
> agree as well. It is finding the exact permissions/folder that is the
> problem.
>
> Looking at this after reading your replies, you might have hit it on
> the head with it being the Temp folder. Right now, the Temp folder
> has Full Control selected. Which permissions for the
> IUSR_machineaccount should be Allowed?
>
Full Control is overkill. All that is required is Modify (read/write).
Having said that, I would expect a different error message if the Temp
folder permissions were the culprit. I would still be leaning toward the
folder containing the mdb file. Take a look at that folder.
Does it contain a .ldb file? Especially when somebody is has the file
open? If not, then permissions is definitely the problem.
If it does contain the locking file, does the file get deleted when the
last person accessing the file closes it? If not, then you have a
permissions problem.

--
HTH,
Bob Barrows

Bookmark and Share