Analysis of 80004005 error messages of ASP

Source: Internet
Author: User
Tags anonymous dsn iis naming convention servervariables access database root directory
Error 1. Error message
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcmicrosoftaccess97driver] Themicrosoftjetdatabase
Enginecannotopenthefile ' (unknown) '. itisalreadyopenedexclusively

This error occurs when IIS uses an anonymous account (usually IUSR), where the account is in NT for the database directory
There is no correct permission. (This is why there is no problem with Win95 and PWS, because Win95 does not have directory permissions at all)
Check permissions for files and directories. Make sure you have permission to create and delete temporary files in this directory.
These temporary files are actually files built in the same directory as the database, but note that it is possible that these files
It may also be built in a different directory, such as/winnt.

What directory is accessed when a file monitor using NT has failed to monitor the file.
This NT File monitor can be downloaded from this location.

If you use a network address for a database, such as a mapping address, check the permissions for shared files and directories.

Also check to see if the data source file (DSN) is being used by another program flag.
These other programs are generally visualinterdev, shutting down any items in the InterDev that are open and connected to the database.

This error can also occur if a UNC path (the Universal Naming convention) is used in DSN, instead
The local path is tested because there may be an error if the UNC is used against the local database.
This can also happen if the server wants to access a table in Access, but the table is joined to a network server.

2. Error message:
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcmicrosoftaccess97driver] Couldn ' tuse ' (unknown) '; file

The database is locked when multiple people are using it.

3. Error message:
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcdrivermanager] Datasourcenamenotfoundandnodefaultdriverspecified.

The most probable cause is that ConnectString is a session variable initialized in Global.asa, but Global.asa
But not working properly. The solution is to check that the assignment is correct: (Add the following code to your ASP)
<%= "' Auth_User ' is" &request.servervariables ("Auth_User")%>
<%= "' Auth_type ' is" &request.servervariables ("Auth_type")%>
<%= "Connectionstringis" &session ("your_connectionstring")%>
Another reason is that you add extra spaces to your connectstring, such as
Try changing it to the following:

If Global.asa is not yet working, check to see if the file is in the root directory of the application, or in the root directory of the virtual directory.

It is also possible that the error occurred because the DSN name was not found, which can be solved by the id=36767 method I provided.
Finally, check to see if the latest driver is installed, whether it is the latest version of MDAC.

4. Error message
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcdrivermanager] Datasourcenamenot??

This error may occur in the order of the Software installation (or reverse installation) on your computer.
This error can occur if the version of ODBC is inconsistent.
The workaround is to install the latest version of MDAC

5. Error message:
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcaccess97odbcdriverdriver] Generalerrorunabletoopenregistrykey ' DriverID '.

This error occurs when love reads a value from the registry. Use Regedit32.exe to check your registry permissions.
You can also use the Registry Monitor (NTRegMon) in NT to read the failure information. The program is here to find:

6. Error message:
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcsqlserverdriver] [DBNMPNTW] ConnectionOpen (CreateFile ()).

Two reasons: When a database contains a separate license relationship on the machine,
This can also happen on the same machine, when you set a UNC path to a relationship, and the other relationship is a local path.
The reason for the error is:
When a user logs on with an IIS anonymous account, he is entitled to the local machine, but for a UNC path machine,
In addition this machine does not think that your current anonymous login account is also legal on top of it.
This will not allow you to access resources above it, resulting in errors.

Two solutions:
1. In the IIS tool, change the IIS anonymous account into another domain-based account. (that is, do not use anonymous logins)
2. Or, on the machine where you want to access the resource, create an account that is the same as the current anonymous account, using the same password.

7. Error message

This error is generated by SQL Server, when it is not accepted or is unable to recognize the login account, or if you are not logged on as an administrator,
It is also possible that there is no SQL mapping account in NT.

Log on using the System Administrator account (SA), the general password should be empty. Note that you must use coonectstring instead of using the DSN file.
The user name and password are not saved in the DSN.
Check to see if NT has mapped the account number for SQL.

8. Error message
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcsqlserverdriver] [SQL Server] Loginfailed-user:reason:

Reasons above.
Try this approach: in SQL Server's Enterprisemanager, select Server/sqlserver/configure[ascii
If you are running in IIS4, deselect the passwordsynchronization option for the item.

9. Error message
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcmicrosoftaccess97driver] Couldn ' tlockfile.

Maybe you don't have the right permissions. To generate a lock file (. ldb) for an Access database
By default, the file is the same directory as your database.
Give anonymous accounts full access to the database share directory.

Sometimes it is because the file is shared with the intent to use read-only permission restrictions. Try using the following code.
Setconn=server.createobject ("ADODB.") Connection ")
Conn.mode=admodesharedenywrite ' 8

10. Error message
Microsoftoledbproviderforodbcdriverserror ' 80004005 '
[Microsoft] [Odbcmicrosoftaccess97driver] ' (unknown) ' isn ' tavalid

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.