Microsoft KB Archive/174943

= PRB: 80004005 "Couldn't Use '(unknown)'; File Already in Use" =

Article ID: 174943

Article Last Modified on 3/22/2007

-

APPLIES TO


 * Microsoft Visual InterDev 1.0 Standard Edition
 * Microsoft Visual InterDev 6.0 Standard Edition
 * Microsoft Windows NT 3.51 Service Pack 5
 * Microsoft Windows NT 4.0
 * Microsoft Windows 2000 Standard Edition

-



This article was previously published under Q174943



SYMPTOMS
An Active Server Pages (ASP) page returns the error:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file already in use.

-or-

Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [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 error can occur when the database is open in Access, or when a Visual InterDev project is open that contains a data connection to the database.



CAUSE
This is a Windows NT permissions problem. The account that is accessing the page doesn't have sufficient permissions to lock the database. The account would be either the anonymous account (by default the IUSR_ ) or a specific user account if the page has been secured for authenticated access.



RESOLUTION
If the page is meant to be accessed anonymously, give the IUSR_ account full control to the ASP page, and the folder and files where the database is located. Additionally, if the path to the database is being referenced using UNC (\\Server\Share), ensure that the Share Permissions allow the IUSR_ account full access. This step applies even if the share is on the local Web server.

If the page has been secured such that the IUSR_ can't access the file or database, then ensure that the user's account that is being authenticated has full control to the appropriate folders and files.

At a minimum, the account being used needs Create, Destroy, Read, Write to work with the .ldb file. Specific permission can be applied to the database to limit access.



STATUS
This behavior is by design.



MORE INFORMATION
A quick way of ensuring any particular error is a permissions issue is to add the IUSR_ account to the Administrators group. If this fixes the error, then it is a matter of ensuring that the user account being used has sufficient permissions. Ensure that you remove the IUSR_ account from the Administrators group when finished testing.

