Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die .mdf-Datenbank konnte nicht aktualisiert werden, da die Datenbank schreibgeschützt ist (Windows-Anwendung)

Die große Änderung zwischen Windows XP und Windows Vista/7 ist die Einführung von UAC, was bedeutet, dass Benutzer, selbst wenn sie als Administratoren erstellt wurden, routinemäßig keinen Lese-/Schreibzugriff auf „wichtige“ Speicherorte wie den %programfiles% (Normalerweise C:\Program Files oder C:\Program Files (x86) ) Verzeichnis. Aus diesem Grund funktioniert Ihre Anwendung unter Windows XP und nicht unter Windows Vista.

Sie müssen Ihre DATEN speichern in %programdata% Verzeichnis (normalerweise C:\ProgramData ), wenn die Daten zwischen Benutzern auf dem Computer oder %appdata% geteilt werden (was normalerweise C:\Users\USERNAME_GOES_HERE\AppData\Roaming ist ), wenn es für einen bestimmten Benutzer spezifisch ist. Sie werden jetzt nicht mehr auf das Problem stoßen, dass Sie nicht in die Datei schreiben können.

Der Grund dafür ist, dass Sie durch das Speichern von Daten im Installationsverzeichnis Ihres Programms das Falsche getan haben . Windows hat Sie zuvor nicht davon abgehalten, aber es wurde ziemlich ausführlich dokumentiert, dass %programfiles% war nicht der geeignete Ort, um Daten zu speichern.