【发布时间】:2019-05-09 14:44:18
【问题描述】:
我一直在尝试发布我的应用程序,以便可以将其安装在其他计算机上,但是在 VS 编辑器上尝试它并在其他计算机上运行它时,我总是以“SqlException”告终
为了清楚起见,我使用 SqlServer 创建了数据库,并将其附加到 VS 编辑器,直到现在一切顺利,应用程序在编辑器上运行,没有任何异常 但是为了使应用程序在另一台计算机上运行,我需要复制(SqlServer 目录中的 mdf 文件并将其粘贴到项目的 |datadirectory| 中),当然我更改了 connectionString dataSource 以指向 mdf 文件,这里异常开始上升
异常消息说:
尝试为文件附加自动命名的数据库 C:\Users\xXx\Desktop\Projects\Master Maint\Master 维护\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>
【问题讨论】:
-
我建议在
LocalDB上搜索并阅读它。 -
如果是
SQL Server,将连接字符串添加到配置文件(应该包括IP地址),然后让程序从配置文件中读取它。----除非它是LocalDB如 Guido 所述 -
它是一个 LocalDB,以 mdf 文件的形式附在项目中,甚至随项目一起安装,但正如我提到的,问题出在访问过程中 尝试为文件附加自动命名数据库失败
-
对于任何可以帮助您的人,您将不得不发布更多代码。仅凭您所说的无法诊断。
标签: c# sql-server visual-studio advanced-installer