Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Olejan_one
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
Завершенные тесты: 2
1

Ошибка доступа к папке Data Directory (App Data) при создании БД SQLSERVER

21.09.2016, 16:56. Просмотров 710. Ответов 5
Метки нет (Все метки)

Ребята, такая проблемка - мне необходимо что бы при запуске моего приложения создавалась БД mssqlserver 2012.
Как показано в инструкциях - необходимо указать параметр в строке подключения "AttachDbFilename='...|DataDirectory|\MyDataBAse.mdf'..." и БД будет сама создаваться при первом запуске приложения в папке App_Data.
Имя моего экземпляра сервера .\SQLEXPRESS.
При запуске мне выдает ошибку ОС виндовс что sqlserver не имеет доступа к этой папке C:\\...Мое_приложение\App_Data для того что бы создать в ней БД.
Вот такая ошибка:
Directory lookup for the file "C:\Users\...\MvcApplication5\App_Data\MyDataBAse.mdf" failed with the operating system error 5(Отказано в доступе.).
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

Как мне настроить эту папку правильно? Кто нибудь может помочь?
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2016, 16:56
Ответы с готовыми решениями:

Просмотреть файл моего приложения /data/data/com.example.my.app/files/samplefile.txt
Добрый день! Не ожидал, что все так сложно окажется. Моя программа создает txt-файл в папке...

Data Explorer, ошибка при создании БД
Здравствуйте. Нашел такую инструкцию...

Unrecognized data base при попытке привязть ее к Data
Стоит Win XP и Office XP и VB 6.0 Проблема следующая...программно база данных под MS Access...

Ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll
добовляю данные в таблицу .mdb (язык C#) string strSql='INSERT INTO tt (ID,F1,F2)...

Ограничение доступа к папке при создании в ней файла
private void Paste_Button_Click(object sender, EventArgs e) { try ...

5
IamRain
1423 / 1266 / 399
Регистрация: 02.08.2011
Сообщений: 3,752
21.09.2016, 17:32 2
Цитата Сообщение от Olejan_one Посмотреть сообщение
Check related errors.
Что это за realated errors?
У вас Integrated Security режим аутентификации? В таком случае, предполагаю, что у текущего пользователя нет прав на создание бд.

Добавлено через 2 минуты
i.e у пользователя под которым запущено веб-приложение.
1
OwenGlendower
Супер-модератор
Эксперт .NET
10598 / 9110 / 3883
Регистрация: 17.03.2014
Сообщений: 18,238
Записей в блоге: 1
Завершенные тесты: 2
21.09.2016, 21:58 3
Olejan_one, дай права на запись в папку App_data учетной записи от имени которой запущен рабочий процесс.
1
Olejan_one
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
Завершенные тесты: 2
22.09.2016, 00:36  [ТС] 4
Я не силен в sql сервере и в правах доступа. Не знаю правильно ли так но я решил таким способом:

В свойствах этой папки App_Data на вкладке "Безопасность" я добавил нового пользователя, который должен являться текущим экземпляром моего sqlservera если можно так выразиться=)
то есть если мой экземпляр это - SQLEXPRESS(можно посмотреть в "Управление компьютером->Службы->SQLServer(SQLEXPRESS-это и есть имя экземпляра)") то я добавляю его в конец записи нового пользователя и в итоге получается - NT SERVICE\MSSQL$SQLEXPRESS.
Затем назначаю ему полный доступ.
Как то так.

Если не понятно вот ссылка - http://stackoverflow.com/questions/1...ctionstrings-t

Но я до сих пор не очень понимаю правильно ли это? Что будет к примеру если я перенесу этот проект на другой компьютер? На котором стоит другой экзепмляр sqlservera к примеру такой же экземпляр "sqlexpress" либо экземпляр с другим именем? Эти права доступа сохраняться? Либо снова придеться настраивать?

Может есть какая другая альтернатива кроме |DataDirectory| для указания каталога в проекте для моей БД?
0
IamRain
1423 / 1266 / 399
Регистрация: 02.08.2011
Сообщений: 3,752
22.09.2016, 01:39 5
Цитата Сообщение от Olejan_one Посмотреть сообщение
Либо снова придеться настраивать?
Полагаю, это будет частью процесса развертывания вашего проекта.
Цитата Сообщение от Olejan_one Посмотреть сообщение
Может есть какая другая альтернатива кроме |DataDirectory| для указания каталога в проекте для моей БД?
Вообще, afaik, "DataDirectory" - просто удобное сокращение пути к папке App_Data вашего проекта.
Если папка вашего приложения поменяет локацию, ничего менять не надо будет - в этом и удобство.
Отсюда:
. If you don't use the |DataDirectory| connection string variable, you have to provide the full physical path to the database file.
ps: В прошлом посте фигню написал.
0
Olejan_one
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
Завершенные тесты: 2
22.09.2016, 09:31  [ТС] 6
Ок, спасибо всем за помощь!
0
22.09.2016, 09:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2016, 09:31

Ошибка: An unhandled exception of type 'System.Data.OracleClient.OracleException' occurred in system.data.oracleclient.dll
а вы что хотите получить, уважаемый? кол-во выбранных записей, или какое-то конкретное значение?

Как узнать путь к default data directory
Как узнать путь к default data directory (сорри не придумаю корректного перевода) для MS SQL.

Почему при создании регистрации if (data == "true") не сравнивает?
success: function(data) { if (data == "true"){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru