构建C#.Net 4.0应用程序后的数据库路径错误

时间:2012-11-09 15:15:10

标签: c# .net visual-studio ms-access .net-4.0

我正在使用 .Net 4.0 Access数据库在 Visual Studio 2010 中构建应用程序。

我已指定数据库的现有路径,即D:/project/record.accdb。构建应用程序后,当我在自己的计算机上安装它并运行它时,它会给我一个数据库路径错误。

我的应用程序在单击 F5 (调试)时工作正常,但它显示错误

  

“未找到路径。”

我使用以下步骤构建我的项目:

  1. 构建
  2. 构建“项目名称”
  3. 使用CD / DVD进行安装
  4. 完成
  5. 如何解决此问题?

1 个答案:

答案 0 :(得分:0)

听起来,在你的开发电脑上它运行正常,但不是在你想要部署它的另一台机器上。

检查是否在其他PC上安装了Microsoft Access(没有Dev工具的那台)。 安装Access后重复测试。


<强>更新 你最近写信告诉我路径不起作用。请尝试以下操作来创建有效的数据源字符串:

  1. 在桌面上,创建一个新的空文本文档(右键单击,然后选择新建&gt;文本文档)
  2. 重命名该文档,使其具有扩展名.UDL,例如Access.UDL
  3. 双击该文件。 “数据链接属性”打开。
  4. 转到第一个标签(提供商),选择“Microsoft Office XX.X Access数据库引擎OLE DB提供程序”(其中XX.X是您正在使用的Office版本)
  5. 转到第二个选项卡(连接),在“1。输入数据源和/或数据位置”指定Access数据库的完整路径,例如: C:\Documents and Settings\All Users\My Documents\Database1.accdb
  6. 单击“测试连接”按钮以确保连接成功。
  7. 单击“确定”关闭对话框。
  8. 如果您之后使用NOTEPAD打开UDL文件(在我们的示例中为Access.UDL),您会看到正确的数据源字符串:

      

    [OLEDB]

         

    此行之后的所有内容都是OLE DB initstring

         

    Provider = Microsoft.ACE.OLEDB.12.0;数据源= C:\ Documents and Settings \ All Users \ My
         Documents \ Database1.accdb; Persist Security Info = False

    您可以直接在C#代码中使用此字符串,也可以将其存储在app.config文件中并加载它。如果路径应该是动态的,则可以执行以下操作(以下示例使用硬编码的数据源字符串):

    var strDS=string.Format(
        "Data Source={0}\Database1.accdb;Persist Security Info=False", strPath);
    

    这会将存储在变量strPath中的路径插入到数据源字符串strDS中。如前所述,您还可以从app.config加载此字符串。