我一直试图发布我的应用程序,以便可以将其安装在其他计算机上,但是在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>
答案 0 :(得分:0)
谢谢大家,我并没有删除可能是其他人需要的问题,但是最后我找到了答案
1-第一个错误是因为数据库文件未分类,并且通过添加 Initial Catalog = test
解决了2-第二,数据库文件的名称与项目中使用的实际数据库相同,并且通过重命名文件来解决
3-第三,负责创建数据库的日志文件未附加,并且通过将日志文件添加到目录来解决该问题