PRB: Felet 80004005 "Microsoft Jet Database Engine kan inte öppna filen "(okänt)".

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Symptom

När du använder ActiveX dataobjekt (ADO) eller ODBC för att ansluta till en Microsoft Access-databas kan du få följande felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 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.

Orsak

Det finns flera orsaker till det här felmeddelandet:

  • Det konto som Microsoft Internet Information Server (IIS) använder (som vanligtvis är IUSR) har inte rätt Windows NT-behörigheter för en filbaserad databas eller för mappen som innehåller filen.
  • Filen och namnet på datakällan markeras som exklusiva.
  • En annan process eller användare har Access-databasen öppen.
  • Felet kan bero på ett delegeringsproblem. Kontrollera autentiseringsmetoden (Basic eller NTLM), om det finns någon. Om anslutningssträngen använder UNC (Universal Naming Convention) försöker du använda grundläggande autentisering eller en absolut sökväg, till exempel C:\Mydata\Data.mdb. Det här problemet kan uppstå även om UNC-UNC pekar på en resurs som finns lokalt på IIS-datorn.
  • Det här felet kan också inträffa när du öppnar en lokal Microsoft Access-databas som är länkad till en tabell där tabellen finns i en Access-databas på en nätverksserver.

Lösning

Följande uppgifter motsvarar föregående lista över orsaker:

  • Kontrollera behörigheter för filen och mappen. Kontrollera att du har möjlighet att skapa och/eller förstöra tillfälliga filer. Tillfälliga filer skapas vanligtvis i samma mapp som databasen, men filen kan också skapas i andra mappar, till exempel WINNT-mappen.

    Om du använder en nätverkssökväg till databasen (UNC eller mappad enhet) kontrollerar du behörigheterna för resursen, filen och mappen.

  • Kontrollera att filen och namnet på datakällan (DSN) inte är markerade som exklusiva.

  • Den "andra användaren" kan vara Microsoft Visual InterDev. Stäng alla Visual InterDev-projekt som innehåller en dataanslutning till databasen.

  • Förenkla. Använd ett system-DSN som använder en lokal enhetsbeteckning. Om det behövs flyttar du databasen till den lokala enheten för att testa.

Referenser

Om du vill söka efter filåtkomstfel kan du använda Windows NT-filövervakningen. Information om hur du laddar ned File Monitor finns i Windows Sysinternals.