如何制作在客户端计算机上运行的Winforms数据库应用程序

时间:2019-05-09 14:44:18

标签: c# sql-server visual-studio advanced-installer

我一直试图发布我的应用程序,以便可以将其安装在其他计算机上,但是在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>

1 个答案:

答案 0 :(得分:0)

谢谢大家,我并没有删除可能是其他人需要的问题,但是最后我找到了答案

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

解决了

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

3-第三,负责创建数据库的日志文件未附加,并且通过将日志文件添加到目录来解决该问题