PRB: Fout 80004005 'De Microsoft Jet Database Engine kan het bestand (onbekend) niet openen'

Symptomen

Wanneer u ActiveX Data Objects (ADO) of ODBC gebruikt om verbinding te maken met een Microsoft Access-database, wordt mogelijk het volgende foutbericht weergegeven:

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.

Oorzaak

Er zijn verschillende oorzaken voor dit foutbericht:

  • Het account dat Door Microsoft Internet Information Server (IIS) wordt gebruikt (meestal IUSR) heeft niet de juiste Windows NT-machtigingen voor een database op basis van een bestand of voor de map die het bestand bevat.
  • Het bestand en de naam van de gegevensbron zijn gemarkeerd als Exclusief.
  • Een ander proces of een andere gebruiker heeft de Access-database geopend.
  • De fout kan worden veroorzaakt door een delegeringsprobleem. Controleer de verificatiemethode (Basic versus NTLM), indien aanwezig. Als de verbindingsreeks gebruikmaakt van de Universal Naming Convention (UNC), gebruikt u Basisverificatie of een absoluut pad, zoals C:\Mydata\Data.mdb. Dit probleem kan zelfs optreden als de UNC verwijst naar een resource die lokaal is op de IIS-computer.
  • Deze fout kan ook optreden wanneer u een lokale Microsoft Access-database opent die is gekoppeld aan een tabel waarin de tabel zich in een Access-database op een netwerkserver bevindt.

Oplossing

De volgende items komen overeen met de vorige lijst met oorzaken:

  • Controleer de machtigingen voor het bestand en de map. Zorg ervoor dat u de mogelijkheid hebt om tijdelijke bestanden te maken en/of te vernietigen. Tijdelijke bestanden worden meestal gemaakt in dezelfde map als de database, maar het bestand kan ook worden gemaakt in andere mappen, zoals de WINNT-map.

    Als u een netwerkpad naar de database (UNC of toegewezen station) gebruikt, controleert u de machtigingen voor de share, het bestand en de map.

  • Controleer of het bestand en de naam van de gegevensbron (DSN) niet zijn gemarkeerd als Exclusief.

  • De 'andere gebruiker' kan Microsoft Visual InterDev zijn. Sluit alle Visual InterDev-projecten die een gegevensverbinding met de database bevatten.

  • Vereenvoudigen. Gebruik een systeem-DSN die een lokale stationsletter gebruikt. Verplaats de database zo nodig naar het lokale station om te testen.

Verwijzingen

Als u wilt controleren op fouten bij bestandstoegang, gebruikt u de Windows NT-bestandsmonitor. Zie Windows Sysinternals om de bestandsmonitor te downloaden.