【发布时间】:2019-03-13 10:26:19
【问题描述】:
我目前正在为客户做一个项目。对于我使用 localDB 的数据库和我使用 ClickOnce 的部署。我的数据库名称是Database.mdf,连接字符串是
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True
当我启动这个应用程序时,它在我的电脑上运行良好。但是,当我将其安装在另一台计算机上时,出现错误:
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。指定的 LocalDB 实例不存在。)
我也在其他论坛中寻找答案,但似乎没有任何效果。谁能告诉我是什么问题?
编辑:我已将 LocalDB 和 .Net Framework 4.6.1 作为先决条件。
编辑 2:上述问题已修复,但我现在有一个新错误!它说它无法创建数据库,因为它是 852 版本,并且此服务器支持版本 706 及更早版本!
【问题讨论】:
-
您是否真的在 ClickOnce 应用程序中将 LocalDB 作为安装先决条件包含在内? See also.
-
是的,我已将 LocalDB 和 .Net Framework 4.6.1 作为先决条件。
-
在目标机器上运行
sqllocaldb info。它应该确认MSSQLLocalDB实例的存在。如果sqllocaldb不会运行,那么LocalDB 可能根本没有安装;否则,如果安装程序没有处理它,可以使用sqllocaldb create显式创建实例。 (例如,如果安装程序在不同的帐户下运行,这很容易发生,因为除非明确共享,否则 LocalDB 实例是特定于用户的。) -
谢谢!看来另一台计算机上的实例是v11.0!上述问题已解决,但我现在有一个新错误!它说它无法创建数据库,因为它是 852 版本并且此服务器支持版本 706 及更早版本!我通过编辑我的帖子为它提供了上面的图像!请你看看那个!
-
那是因为您使用SQL Server 2016 制作数据库,但机器安装了SQL Server 2012。 See also。查看我最初发布的链接以获取有关如何在先决条件中包含 SQL Server 2016 LocalDB 而不是 SQL Server 2012 的建议。当然,您也可以仅使用 2012 版本创建自己的数据库。