Eine beliebter Fehler mit Access Datenbanken tritt dann auf, wenn man die Datenbank auf ein Netzlaufwerk verschiebt (obwohl man als eingeloggter User perfekt darauf zugreifen kann):
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.
Der Grund ist, daß der IIS ja standardmäßig einen anonymen Account für alle Benutzer verwendet, der nur auf der lokalen Maschine Rechte hat, auf anderen Rechnern allerdings absolut keine (siehe IUSRMaschinenname).
Damit die Web Site (IIS) auf die Datenbank auf dem anderen Rechner zugreifen kann, muß man also das anonyme Konto ändern. Es folgen die Kochrezepte für Domains und Workgroups.
Wenn der IIS Rechner und der Fileserver Teil der gleichen NT Domain sind:
- Am Domaincontroller ein neues Benutzerkonto anlegen (Domain User). Das Recht Log on as a Service vergeben.
- Im ISM die Eigenschaften für die fragliche Website anzeigen, Sicherheit, Anonymer Zugriff, Benutzerkonto. Das neu angelegte Konto selektieren, Passwort eingeben.
- Dem Benutzerkonto auf dem Fileshare Rechte erteilen.
- ODBC DSN auf \\servername\share\filename.mdb umstellen. Drive Mappings sind zwar möglich, aber bringen wieder neue Probleme.
Wenn IIS Rechner und Fileserver Teil einer Workgroup sind:
- Auf beiden Rechnern (IIS und Fileserver) einen identischen Account anlegen (Name und Passwort)
- Im ISM die Eigenschaften für die fragliche Website anzeigen, Sicherheit, Anonymer Zugriff, Benutzerkonto. Das neu angelegte Konto selektieren, Passwort eingeben.
- Am Share des Fileserver dem Benutzer entsprechende Rechte erteilen.
- ODBC DSN auf \\servername\share\filename.mdb umstellen.