Article ID: 174943 - View products that this article applies to.
This article was previously published under Q174943
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.
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.
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 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_<machinename>) or a specific user account if the page has been secured for authenticated access.
If the page is meant to be accessed anonymously, give the IUSR_<machinename> 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_<machinename> 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_<machinename> 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.
A quick way of ensuring any particular error is a permissions issue is to add the IUSR_<machinename> 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_<machinename> account from the Administrators group when finished testing.
Article ID: 174943 - Last Review: March 22, 2007 - Revision: 2.7