在C#中使用相对路径连接Access数据库的连接字符串

4

我试图让我的web.config文件中的这行代码使用相对路径而不是硬编码路径,但似乎没有任何效果。我只能找到针对SQL和MySQL数据库的相关内容。

<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文件夹中


请查看此链接 http://www.connectionstrings.com/access-2007 将此链接加入书签以便日后参考 - http://www.connectionstrings.com/ - MethodMan
谢谢 DJ KRAZE,但我已经让连接字符串在工作了。我只需要将其变成相对路径或至少更改|Data Directory|的路径。 - Un Known
但是我在哪里可以更改 |DataDirectory| 的路径,以便它不再查找 "C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0" 而是查找我的 App_Data 文件夹? - Un Known
1个回答

6
我翻译了这段文字:“我四处寻找并使其正常工作。我将这行代码插入到Global.asax文件的Application_Start方法中。”
AppDomain.CurrentDomain.SetData("DataDirectory", Server.MapPath("~/App_Data/"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接