Alles zum Thema Windows Server sowie Windows IT Pro Themen — Q & A zu den Windows Server Versionen NT / 2000 / 2003 / 2003 R2 / 2008 / 2008 R2: Rollen, Features, Konfiguration, Troubleshooting
Ich arbeite zur Zeit an folgendem Problem: Ich habe eine Kundenwebseite auf einem neuen IIS-Webserver installiert. Wenn ich nun per ASP in eine MS Access Datenbank schreiben will, erscheint die Fehlermeldung:
Microsoft JET Database Engine error '80004005' Operation must use an updateable query.
Es handelt sich dabei um ein Berechtigungsproblem. Wenn ich Vollzugriff für Jeder auf dem Ordner in dem die Datenbankdatei gespeichert ist erteile, funktioniert das Updaten einwandfrei. Wenn aber lediglich Vollzugriff für IUSR_SERVERNAME eingetragen ist, erhalte ich den genannten Fehler.
Folgendes habe ich kontrolliert, resp. ausprobiert & weitere Informationen:
- Ich verwende IIS 6.0 auf einer Windows 2003 Web Edition
- Lesezugriff auf die Datenbank funktioniert
- Die Datenbank ist im wwwroot gespeichert
- Der Ordner und die Datenbank sind nicht schreibgeschützt.
- IUSR_SERVERNAME ist im IIS eingetragen als ausführender Benutzer (Anonymous access)
- Schreibzugriff für IUSR_SERVERNAME auf TEMP-Verzeichnis erteilt
- Vollzugriff für IWAM_SERVERNAME eingetragen
- Integrierte Windows Authentifizierung ist aktiviert
Weiss jemand wie ich die Berechtigungen setzen muss, damit ich die Datenbank abspeichern kann? Grundsätzlich müsste es funktionieren wenn ich IUSR_SERVERNAME Vollzugriff erteile, denn auf dem vorherigen Webserver hat dies auch funktioniert.
Beste Grüsse,
Sam
Geändert von FunkyFleaBass (18.03.2010 um 13:36 Uhr).
Ich denke, in diesem Fall musst Du dem Konto, unter dem der jeweilige Application Pool läuft, die notwendige Berechtigung geben. Per Default ist das der "Ntezwerkdienst". Das ist aber keine gute Idee.
Du richtest besser einen neuen Pool ein und verwendest ein Benutzerkonto mit geringen Rechten. Schreibrechte auf die MDB müssen aber sein .
Diesen Pool verknüpfst Du mit Deiner Webanwendung.
Ich habe zum testen dem Netzwerkdienst vollen Zugriff auf Ordner und MDB-File gewährt, ich erhielt aber den gleichen Fehler. Dann habe ich dem Netzwerkdienst auch noch Schreibrechte auf den TEMP-Ordner erteilt, das half aber auch nichts.
Ich habe die Lösung gefunden:
Das Update der Datenbank erfolgt im geschützten Bereich, dort logt man sich nicht mit dem User IUSR_SERVERNAME ein. Sondern mit einem Adminuser, diesem fehlten noch die Berechtigung auf Ordner und DB-File.