我在 VS2010 中制作了使用 2007 Access 数据库的 VB.NET 应用程序,名为MenuDB.mdb
. 在开发过程中,一切都很好。
现在我正在发布它,我得到了奇怪的错误,因为由于某种原因应用程序没有连接到数据库。
我安装应用程序并运行它,但一旦打开它就会出现此错误:
System.Data.OleDb.OleDbException (0x80004005): Could not find file
'C:\Users\Administrator\AppData\Local\Apps\2.0\Data\OV86PXJA.K3R\8575R5AY.95Z\menu..tion_0d4fa454d69e8e6b_0001.0000_8340d263807cbb71\Data\MenuDB.accdb'.
我知道问题与我将应用程序与数据库相关联的方式有关,但我不知道哪种方式是正确的。在解决方案资源管理器中,我将构建类型更改MenuDB.accdb
为“内容”(之前它是嵌入式资源)。但这两种方式都不起作用。在我的 App.config 中,我有以下连接字符串:
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MenuDB.accdb"
我希望当我部署应用程序时,数据库应该放在应用程序文件夹中,无论它安装在哪里。我怎样才能做到这一点?
编辑
我不介意以这样一种方式部署它,即我需要自己将数据库粘贴到目标机器上的某个位置——只要它可以工作。