Microsoft KB Archive/174943

From BetaArchive Wiki

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_<machinename>) 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_<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.

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

REFERENCES

For the latest Knowledge Base articles and other support information on Visual InterDev and Active Server Pages, see the Visual InterDev page on the Microsoft Technical Support site.

Keywords: kberrmsg kbprb kbsecurity kbwebserver KB174943