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

本文关键字:随机 位置 看起来 数据源 为什么 OleDb | 更新日期: 2023-09-27 17:57:36

我正在使用OleDb连接到一个访问数据库,数据源位于我的项目文件中。由于这个项目将被压缩并四处移动,我希望它无论如何都能被找到。

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

每当我使用数据源时,我都可以这样放置它的位置,然而,当我在这里这样做时,它会尝试在"C:''Program Files(x86)''Common Files''Microsoft Shared''DevServer''10.0''University.accdb"中查找。

有没有什么方法可以让它自动显示在项目文件中?

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

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

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

|DataDirectory|将在部署它的位置找到您的App_Data文件夹。

编辑:根据这篇SO文章,您还需要Global.asax.的Application_Start方法中的以下行

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