1

我在 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"

我希望当我部署应用程序时,数据库应该放在应用程序文件夹中,无论它安装在哪里。我怎样才能做到这一点?

编辑

我不介意以这样一种方式部署它,即我需要自己将数据库粘贴到目标机器上的某个位置——只要它可以工作。

4

1 回答 1

0

如果您有多个用户使用相同或相似的数据库,并且无权访问 SQL 服务器(MySQL、MSSQL 或其他),则将数据库放在所有用户都将拥有的中心位置(最好是网络位置)访问和更改连接字符串以适应网络上的数据库位置。

请注意,在进行简单的数据检索/提交时,Access 最多可以处理 10 个用户,但如果您在其他人通过数据对象访问时打开它,那么您可能会将它们锁定。

于 2012-11-27T19:36:32.953 回答