我使用OleDb连接到访问数据库,数据源位于我的项目文件中。由于项目将被压缩和移动,我希望无论如何都可以找到它。
connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=University.accdb;";
在我使用数据源的任何其他时间,我已经能够将它放在这样的位置,但是,当我在这里这样做时,它会尝试查看C:\ Program文件(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ University.accdb'。
有什么方法可以让它自动查看项目文件吗?
答案 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/"));