Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Неуспешно актуализиране на база данни .mdf, защото базата данни е само за четене (приложение за Windows)

Голямото нещо, което се промени между Windows XP и Windows Vista/7, е въвеждането на UAC, което означава, че потребителите, дори ако са създадени като администратори, нямат рутинно достъп за четене/запис до "важни" местоположения като %programfiles% (Обикновено C:\Program Files или C:\Program Files (x86) ) директория. Ето защо вашето приложение работи на Windows XP, а не на Windows Vista.

Трябва да съхраните своите ДАННИ в %programdata% директория (която обикновено е C:\ProgramData ) ако данните се споделят между потребители на машината или %appdata% (което обикновено е C:\Users\USERNAME_GOES_HERE\AppData\Roaming ), ако е специфично за даден потребител. Вече няма да срещате проблема да не можете да пишете във файла.

Причината за това е, че съхранявайки данни в инсталационната директория на вашите програми, вие правите грешно нещо . Windows не ви попречи да направите това по-рано, но беше доста широко документирано, че %programfiles% не беше подходящото място за съхранение на данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PARSE() срещу CAST() срещу CONVERT() в SQL Server:Каква е разликата?

  2. Транспониране на редове и колони без агрегат

  3. T-SQL има ли агрегатна функция за конкатенация на низове?

  4. Кога/Защо да използвам каскадиране в SQL Server?

  5. Преобразувайте заявката на SQL Server в MySQL