首页 > 解决方案 > 如何制作在客户端计算机上运行的 winforms 数据库应用程序

问题描述

我一直在尝试发布我的应用程序,以便可以将其安装在其他计算机上,但是在 VS 编辑器上尝试它并在另一台计算机上运行它时,我总是以“SqlException”告终

为了清楚起见,我使用 SqlServer 创建了数据库,并将其附加到 VS 编辑器,直到现在一切顺利,应用程序在编辑器上运行,没有任何例外,但为了使应用程序在另一台计算机上工作,我需要复制( SqlServer 目录中的 mdf 文件并将其粘贴到项目的 |datadirectory| 中)当然我更改了 connectionString dataSource 以指向 mdf 文件,并且此处异常开始出现

异常消息说:

尝试为文件 C:\Users\xXx\Desktop\Projects\Master Maint\Master Maint\bin\Debug\GMAO.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

当我 Initial Catalog=test在连接字符串中添加时,异常消息变为:

“无法将文件 'C:\Users\xXx\Desktop\Projects\Master Maint\Master Maint\bin\Debug\GMAO.mdf' 作为数据库 'test' 附加。”

PS 1:这不是权限问题,因为我从高级安装程序授予了对文件的完全访问权限

PS 2:如果有其他方法可以在另一台计算机上运行数据库应用程序,我正在听。

<connectionStrings>
    <add name="connString2" connectionString="Data Source=(localdb)\v11.0;AttachDbFilename=|DataDirectory|\GMAO.mdf ;Integrated Security=True"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

标签: c#sql-servervisual-studioadvanced-installer

解决方案


谢谢大家,我没有删除问题,因为其他人可能需要它,但最终我找到了答案

1 - 第一个错误是因为数据库文件未分类,通过添加Initial Catalog=test已解决

2 - 第二个数据库文件的名称与项目中使用的真实数据库相同,并且通过重命名文件来解决

3 - 第三个负责创建数据库的日志文件没有附加,通过将日志文件添加到目录来解决


推荐阅读