Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Falha ao atualizar o banco de dados .mdf porque o banco de dados é somente leitura (aplicativo do Windows)


A grande coisa que mudou entre o Windows XP e o Windows Vista/7 é a introdução do UAC, o que significa que os usuários, mesmo se criados como administradores, não têm acesso de leitura/gravação a locais "importantes" como o %programfiles% (Geralmente C:\Program Files ou C:\Program Files (x86) ) diretório. É por isso que seu aplicativo funciona no Windows XP e não no Windows Vista.

Você precisa armazenar seus DADOS no %programdata% diretório (que geralmente é C:\ProgramData ) se os dados forem compartilhados entre usuários na máquina ou %appdata% (que geralmente é C:\Users\USERNAME_GOES_HERE\AppData\Roaming ) se for específico para um determinado usuário. Agora você não encontrará mais o problema de não conseguir gravar no arquivo.

A razão para isso é que ao armazenar dados no diretório de instalação de seus programas você estava fazendo a coisa errada . O Windows não impediu você de fazer isso anteriormente, mas foi amplamente documentado que %programfiles% não era o local apropriado para armazenar dados.