SQL Compact Edition 3.5 - доступ к файлу базы данных не разрешен - PullRequest
17 голосов
/ 06 сентября 2010

Я разработал приложение (100% локальное, без доступа к серверам), используя SQL Server Compact 3.5, и оно отлично работает на моем компьютере.Однако, когда я развернул его на другом компьютере, он показывает эту ошибку:

Access to the database file is not allowed. [ File name = data\BDApepucCE.sdf ]

Я развернул на компьютере с Windows XP.Эта ошибка отображается при каждой попытке записи в базу данных, однако она работает при чтении.

Я провел тест на компьютере под управлением Windows 7 и сработал на 100%, за исключением случаев, когда к файлу обращались черездомашняя группа (то есть локальная сеть), в которой произошел сбой при чтении и записи.

Платформа: Windows 7, Visual Studio 2010 и .NET 4 Client Profile

Ответы [ 9 ]

20 голосов
/ 14 марта 2011

Убедитесь, что вы используете |DataDirectory| в строке подключения. Вот пример

connectionString="Data Source=|DataDirectory|MyDB.sdf"

У меня была точно такая же проблема, как у вас, и мне удалось ее исправить, добавив | DataDirectory | к моей строке подключения.

Удачи.

13 голосов
/ 25 декабря 2011

Это сработало для меня: http://solutionevangelist.com/community/discussion/20/access-to-the-database-file-is-not-allowed.-system.data.sqlserverce.sqlceexception/p1

Обычно это проблема с разрешениями. Я даю «Все» полные права доступа к файлу .sdf в App_Data, либо через графический интерфейс, либо используя

icacls database.sdf /grant Everyone:F
9 голосов
/ 31 июля 2012

У меня тоже была такая же проблема.Мое решение было в TFS / SourceControl в то время, когда я развернул его, и sdf-файл был зарегистрирован (т.е. только для чтения), и это вызвало у меня ту же ошибку, что и выше.Когда я проверил файл sdf и развернул снова, все было хорошо.Думаю, я поделюсь этим, если другие пользователи TFS столкнутся с такой же проблемой.

4 голосов
/ 07 сентября 2010

Вот еще два предложения:

  • Попробуйте запустить Visual Studio от имени администратора
  • Проверьте, установлен ли атрибут «только для чтения» в файле sdf
0 голосов
/ 15 марта 2017

Это не будет типичной причиной, но я столкнулся с этим сообщением об ошибке, когда в строке подключения указан неверный путь к файлу CE SDF.Как только я установил, что ошибка ушла.

0 голосов
/ 17 октября 2016

Просто запустите ваше приложение от имени администратора. Я решил свою проблему, используя это.

0 голосов
/ 08 июня 2016

У меня сработало следующее решение:

«Программные файлы» в Windows защищены, поэтому обычные пользователи не могут писать там ваши приложения, вероятно, будут работать только с администратором Пользователь.

Измените путь к папке данных для вашей базы данных, где все пользователи имеют право на запись.

0 голосов
/ 04 июля 2014

Вам просто нужно разрешить «Включения на стороне сервера» в меню IIS «Расширения веб-служб»

, которая исправила все мои проблемы.

0 голосов
/ 17 июля 2013

Также вы можете проверить и посмотреть, использует ли ваш пул приложений сетевую службу (не пул приложений), а разрешения сетевой службы установлены на полный контроль в папке AppData. Это было моей проблемой некоторое время назад, и я забыл, как я это сделал, но этот вопрос напомнил мне, как я это сделал.

...