2012-11-01 2 views
4

Я пытаюсь получить эту строку в моем файле web.config, чтобы использовать относительный путь вместо жесткокодированного, но ничего не работает. Я могу только найти материал для SQL и MySQL БДИспользование относительного пути в строке соединения для Access DB в C#

<connectionStrings> 
<add name="dbConnection" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mike\Desktop\GeauxEat NEW\GeauxEat\App_Data\GeauxEatAccessDB.accdb"/> 
</connectionStrings> 

Я попытался сделать это

<add name="dbConnection" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|Data Directory|\GeauxEatAccessDB.accdb"/> 

, но затем он ищет что-то в этой папке, в которой она не существует.

"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\DevServer\\10.0" 

Есть ли способ получить это относительно? Он находится в папке AppData файла проекта

+0

Checkout эту ссылку http://www.connectionstrings.com/access-2007 эту ссылку в закладки для будущего references- HTTP: // WWW. connectionstrings.com/ – MethodMan

+0

thx DJ KRAZE, но у меня уже есть строка подключения. Мне просто нужно, чтобы он был относительным путем или, по крайней мере, изменил путь | Data Directory | –

+0

Возможный дубликат ссылки [Relative path reference в WebConfig.ConnectionString] (http://stackoverflow.com/questions/125157/relative-path-reference-in-config-connectionstring) – Fionnuala

ответ

6

Я огляделся и заставил его работать. Я вставил эту строку в метод Application_Start в Global.asax файл

AppDomain.CurrentDomain.SetData("DataDirectory", Server.MapPath("~/App_Data/"));