PRB: Błąd 80004005 "Aparat bazy danych Microsoft Jet nie może otworzyć pliku '(unknown)'"

Symptomy

W przypadku korzystania z obiektów danych ActiveX (ADO) lub ODBC w celu nawiązania połączenia z bazą danych programu Microsoft Access może zostać wyświetlony następujący komunikat o błędzie:

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.

Przyczyna

Istnieje kilka przyczyn tego komunikatu o błędzie:

  • Konto używane przez program Microsoft Internet Information Server (IIS) (czyli zwykle IUSR) nie ma odpowiednich uprawnień systemu Windows NT dla bazy danych opartej na plikach lub folderu zawierającego plik.
  • Plik i nazwa źródła danych są oznaczone jako Wyłączne.
  • Inny proces lub użytkownik ma otwartą bazę danych programu Access.
  • Błąd może być spowodowany problemem z delegowaniem. Sprawdź metodę uwierzytelniania (Podstawowa i NTLM), jeśli istnieje. Jeśli parametry połączenia używa uniwersalnej konwencji nazewnictwa (UNC), spróbuj użyć uwierzytelniania podstawowego lub ścieżki bezwzględnej, takiej jak C:\Mydata\Data.mdb. Ten problem może wystąpić nawet wtedy, gdy unc wskazuje na zasób, który jest lokalny dla komputera usług IIS.
  • Ten błąd może również wystąpić, gdy uzyskujesz dostęp do lokalnej bazy danych programu Microsoft Access połączonej z tabelą, w której tabela znajduje się w bazie danych programu Access na serwerze sieciowym.

Rozwiązanie

Następujące elementy odpowiadają poprzedniej liście przyczyn:

  • Sprawdź uprawnienia do pliku i folderu. Upewnij się, że masz możliwość tworzenia i/lub niszczenia plików tymczasowych. Pliki tymczasowe są zwykle tworzone w tym samym folderze co baza danych, ale plik może być również tworzony w innych folderach, takich jak folder WINNT.

    Jeśli używasz ścieżki sieciowej do bazy danych (UNC lub zamapowanego dysku), sprawdź uprawnienia udziału, pliku i folderu.

  • Sprawdź, czy plik i nazwa źródła danych (DSN) nie są oznaczone jako wyłączne.

  • "Innym użytkownikiem" może być Microsoft Visual InterDev. Zamknij wszystkie projekty Visual InterDev zawierające połączenie danych z bazą danych.

  • Uprościć. Użyj nazwy DSN systemu używającej litery dysku lokalnego. W razie potrzeby przenieś bazę danych na dysk lokalny w celu przetestowania.

Informacje

Aby sprawdzić, czy nie ma błędów dostępu do plików, użyj monitora plików systemu Windows NT. Aby pobrać monitor plików, zobacz Windows Sysinternals (Windows Sysinternals).