OleDb数据源 - 为什么它在这个随机位置看起来?

时间:2014-04-09 21:22:39

标签: c# asp.net oledb

我使用OleDb连接到访问数据库,数据源位于我的项目文件中。由于项目将被压缩和移动,我希望无论如何都可以找到它。

connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=University.accdb;";

在我使用数据源的任何其他时间,我已经能够将它放在这样的位置,但是,当我在这里这样做时,它会尝试查看C:\ Program文件(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ University.accdb'。

有什么方法可以让它自动查看项目文件吗?

1 个答案:

答案 0 :(得分:0)

尝试将数据库文件放在解决方案的App_Data目录中。然后将此用作连接字符串......

connetionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\University.accdb;";

|DataDirectory|会找到您已部署的App_Data文件夹。

编辑:基于this SO帖子,您还需要Global.asax的Application_Start方法中的以下行。

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