Microsoft OLE DB Provider for ODBC Drivers error '80004005'


C

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.
 
Ad

Advertisements

A

Adrienne Boswell

Gazing into my crystal ball I observed =?Utf-8?B?Y3VybHkxMDE=?=
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.
 
D

Daniel Crichton

curly101 wrote on Tue, 16 Jun 2009 20:44:01 -0700:
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.
 
B

Bob Barrows

curly101 said:
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.
 
C

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!

Bob Barrows said:
curly101 said:
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"
 
Ad

Advertisements

B

Bob Barrows

curly101 said:
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.
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top