sql >> Databasteknik >  >> RDS >> Sqlserver

Det gick inte att uppdatera .mdf-databasen eftersom databasen är skrivskyddad (Windows-program)

Det stora som förändrades mellan Windows XP och Windows Vista/7 är introduktionen av UAC som innebär att användare, även om de skapats som administratörer, inte rutinmässigt har läs-/skrivåtkomst till "viktiga" platser som %programfiles% (Vanligtvis C:\Program Files eller C:\Program Files (x86) ) katalog. Det är därför din applikation fungerar på Windows XP och inte på Windows Vista.

Du måste lagra dina DATA i %programdata% katalog (som vanligtvis är C:\ProgramData ) om data delas mellan användare på maskinen eller %appdata% (vilket vanligtvis är C:\Users\USERNAME_GOES_HERE\AppData\Roaming ) om det är specifikt för en viss användare. Du kommer nu inte längre att stöta på problemet med att inte kunna skriva till filen.

Anledningen till detta är att genom att lagra data i din programinstallationskatalog du gjorde fel sak . Windows hindrade dig inte från att göra detta tidigare, men det var ganska allmänt dokumenterat att %programfiles% var inte rätt plats att lagra data på.



  1. Uppdatera SQL med konsekutiv numrering

  2. En översikt över volymnivåreplikering för PostgreSQL med DRBD

  3. Så här gör du:Skapa utlösare för ändringsdatum för automatisk uppdatering med SQL Server 2008

  4. JSON_OBJECTAGG() Funktion i Oracle