EntityFramework: чтение файла SDF из папки ProgramData? - PullRequest
1 голос
/ 07 апреля 2011

Я занимаюсь разработкой приложения WPF / Entity Framework 4, которое использует SQL Compact 4.0 в качестве хранилища данных.Я попытался сохранить файл базы данных (SDF) в папке c:\ProgramData\MyCompany\MyApp\.Когда мое приложение пытается открыть хранилище данных, я получаю следующее исключение: «Ошибка основного поставщика при открытии».Файл открывается нормально, если он хранится в папке пользователя.

Я думаю, что исключение выдается из соображений безопасности - я подозреваю, что Windows, .NET, EF или SQL Compact не позволят мне сохранить SDFфайл в папку c:\ProgramData.Это верно?Если так, то я озадачен, поскольку именно в таких приложениях хранятся текстовые журналы.Если я могу войти в папку, почему я не могу поместить туда файл SDF?

Если я не могу сохранить в c:\ProgramData, где должен храниться файл, чтобы тот же файл был доступеннескольким пользователям на машине?Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

В строке подключения вы указываете местоположение базы данных с абсолютным или относительным путем?

Если вы используете ссылку на относительный путь и ваше приложение не запускается из «c: \ ProgramData \ MyCompany \ MyApp \», это может быть проблемой, так как приложение всегда будет пытаться найти файл вашей базы данных в своемЗапущенная папка.

Дайте мне знать, если это поможет.

Riana

0 голосов
/ 07 апреля 2011

Я думаю, вам нужно изменить список контроля доступа для папки MyApp на Users RW

...