Доступ к БД при перемещении exe файла из рабочей папки в другую
-
28 апреля 2012 г. 12:51
Здравствуйте, есть прилодение - по нажатию на кнопку должен заполнится DataGrid.
Если я переношу exe куда то в другой место, вне рабочей папки - генерится ошибка.
Не получается взять данные из БД. Для получения данных использую Entity FrameWork
Строка подключения в *.config:
<add name="EmployeeEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Employee.mdf;integrated security=True;connect timeout=30;user instance=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
файл БД и exe находятся в одной папке
В чём же проблема??
Все ответы
-
28 апреля 2012 г. 12:58МодераторКонфигурационный файл тоже туда перенесите, туда же где и сам исполняемый файл, скорее всего проблема в этом.
- Изменено YatajgaModerator 28 апреля 2012 г. 12:59
-
28 апреля 2012 г. 14:28К сожалению не помогает
-
28 апреля 2012 г. 14:58
В строке подключения замените вот в этом месте: "attachdbfilename=|DataDirectory|\Employee.mdf" часть "|DataDirectory|" на полный путь к файлу: C:\MyDataFilder\
Должно помочь.
- Помечено в качестве ответа ansi_str 28 апреля 2012 г. 17:37
-
28 апреля 2012 г. 15:04А есть такой способ, чтобы как то в самом .exe прописать - что если база лежит в папке рабочей(вместе с exe) то .exe корректно работает без ошибок, не зависимо в какой папке расположены - C:\MyDir или D:\MyDir - но вместе. Так нельзя сделать - нудно всегда жёстко прописывать путь?
То есть я взял из папки C:\MyDir скопировал файл exe и файл БД в D:\MyDir, ничего не меняя и проект работает как ни в чём не бывало- Изменено ansi_str 28 апреля 2012 г. 15:06
-
28 апреля 2012 г. 15:45Попробуйте оставить в ConnectionString только имя файла, вот так: attachdbfilename=Employee.mdf
Да, файл конфигурации не забывайте копировать.- Изменено Алексей ЛосевMicrosoft Community Contributor 28 апреля 2012 г. 15:46
-
2 мая 2012 г. 6:54
ansi_str, вам помог совет Алексея, оставить имя файла без пути?
Также вот здесь рассказывается как можно задать относительный путь не удаляя |DataDirectory|, а задавая ее значение на фактическое в коде - ADO.Net 2.0: Relative paths in ConnectionString [Sushil Chordia]
Для связи [mail]

