PRB: Fehler 80004005 "Die Microsoft Jet-Datenbank-Engine kann die Datei "(unbekannt)" nicht öffnen"

Symptome

Wenn Sie ActiveX Data Objects (ADO) oder ODBC verwenden, um eine Verbindung mit einer Microsoft Access-Datenbank herzustellen, wird möglicherweise die folgende Fehlermeldung angezeigt:

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.

Ursache

Für diese Fehlermeldung gibt es mehrere Ursachen:

  • Das Von Microsoft Internet Information Server (IIS) verwendete Konto (in der Regel IUSR) verfügt nicht über die richtigen Windows NT-Berechtigungen für eine dateibasierte Datenbank oder für den Ordner, der die Datei enthält.
  • Die Datei und der Datenquellenname sind als Exklusiv gekennzeichnet.
  • Bei einem anderen Prozess oder Benutzer ist die Access-Datenbank geöffnet.
  • Der Fehler kann durch ein Delegierungsproblem verursacht werden. Überprüfen Sie ggf. die Authentifizierungsmethode (Basic im Vergleich zu NTLM). Wenn die Verbindungszeichenfolge die Universal Naming Convention (UNC) verwendet, versuchen Sie, die Standardauthentifizierung oder einen absoluten Pfad wie C:\Mydata\Data.mdb zu verwenden. Dieses Problem kann auch auftreten, wenn der UNC auf eine Ressource verweist, die lokal auf dem IIS-Computer ist.
  • Dieser Fehler kann auch auftreten, wenn Sie auf eine lokale Microsoft Access-Datenbank zugreifen, die mit einer Tabelle verknüpft ist, in der sich die Tabelle in einer Access-Datenbank auf einem Netzwerkserver befindet.

Lösung

Die folgenden Elemente entsprechen der vorherigen Liste der Ursachen:

  • Überprüfen Sie die Berechtigungen für die Datei und den Ordner. Stellen Sie sicher, dass Sie die Möglichkeit haben, temporäre Dateien zu erstellen und/oder zu zerstören. Temporäre Dateien werden in der Regel im gleichen Ordner wie die Datenbank erstellt, aber die Datei kann auch in anderen Ordnern wie dem WINNT-Ordner erstellt werden.

    Wenn Sie einen Netzwerkpfad zur Datenbank (UNC oder zugeordnetes Laufwerk) verwenden, überprüfen Sie die Berechtigungen für die Freigabe, die Datei und den Ordner.

  • Stellen Sie sicher, dass die Datei und der Datenquellenname (DATA Source Name, DSN) nicht als Exklusiv gekennzeichnet sind.

  • Der "andere Benutzer" kann Microsoft Visual InterDev sein. Schließen Sie alle Visual InterDev-Projekte, die eine Datenverbindung mit der Datenbank enthalten.

  • Vereinfachen. Verwenden Sie einen System-DSN, der einen lokalen Laufwerkbuchstaben verwendet. Verschieben Sie die Datenbank bei Bedarf zum Testen auf das lokale Laufwerk.

References

Verwenden Sie den Windows NT-Dateimonitor, um nach Dateizugriffsfehlern zu suchen. Informationen zum Herunterladen des Dateimonitors finden Sie unter Windows Sysinternals.