构建 C#.Net 4.0 应用程序后的数据库路径错误
Posted
技术标签:
【中文标题】构建 C#.Net 4.0 应用程序后的数据库路径错误【英文标题】:Database path error after building C#.Net 4.0 application 【发布时间】:2012-11-09 15:15:10 【问题描述】:我正在使用 .Net 4.0 和 Access 数据库在 Visual Studio 2010 中构建应用程序。
我已经指定了我的数据库的现有路径,即D:/project/record.accdb
。构建应用程序后,当我在自己的计算机上安装并运行它时,它给了我一个数据库路径错误。
我的应用程序在单击 F5(调试)时工作正常,但它显示错误
“找不到路径。”
我使用以下步骤构建了我的项目:
-
构建
构建“项目名称”
使用 CD/DVD 进行安装
完成
我该如何解决这个问题?
【问题讨论】:
我们需要更多信息。错误到底说了什么?您可以发布打开它的代码吗?您是否在自己的计算机上安装了所需的 MSSQL 库? @MikeWebb for Access 数据库你不需要 MSSQL 库 @Stefan P - 如果他在他的程序中专门使用 MSSQL 库,他不需要它们吗?从他的帖子看来,这就是他正在使用的。 @Stefan P - 好的,nvmd。看起来这不是问题。 对不起 Stefan P 先生。我已经编辑了我的问题,它之前是 MSSQL。 【参考方案1】:听起来,它在您的开发 PC 上运行良好,但在您想要将其部署到的其他机器上却没有。
检查您是否在另一台电脑(没有开发工具的电脑)上安装了 Microsoft Access。 安装 Access 后重复测试。
更新: 你最近写信给我说这条路行不通。尝试以下方法来创建有效的数据源字符串:
-
在桌面上,创建一个新的空文本文档(右键单击,然后选择新建>文本文档)
重命名该文档,使其具有扩展名
.UDL
,例如Access.UDL
双击文件。 “数据链接属性”打开。
转到第一个选项卡(提供程序),选择“Microsoft Office XX.X Access Database Engine OLE DB Provider”(其中 XX.X 是您正在使用的 Office 版本)
转到第二个选项卡(连接),在 “1.输入数据源和/或数据位置”您指定 Access 数据库的完整路径,例如C:\Documents and Settings\All Users\My Documents\Database1.accdb
单击“测试连接”按钮以确保连接成功。
点击“确定”关闭对话框。
如果您之后使用 NOTEPAD 打开 UDL 文件(在我们的示例 Access.UDL 中),您会看到正确的数据源字符串:
[oledb]
;此行之后的所有内容都是 OLE DB 初始化字符串
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=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 加载此字符串。
【讨论】:
只有路径错误。有没有办法在连接字符串中给出路径,该路径将在部署它的任何 pc 上匹配以上是关于构建 C#.Net 4.0 应用程序后的数据库路径错误的主要内容,如果未能解决你的问题,请参考以下文章
Windows server 2008 .net 4.0环境的安装
为啥 .Net 4.0 构建客户端 DataContracts 会导致 .Net 4.5 应用程序中的 MethodAccessException?
我找不到任何使用 Windows 窗体控件和(或)Infragistics 构建的 .NET 4.0 应用程序