我无法让Sql Server localdb连接在没有安装SqlServer Express的计算机上运行

我有一个使用Visual Studio 2012编写的C#控制台应用程序。在应用程序中,我使用Sql Server localdb连接到数据库来存储信息。 这在几台计算机上运行正常,所有计算机都安装了Visual Studio。

我想部署一个只需要安装Sql Server Express LocalDB的程序,而不是更大的Sql Server Express。 但是,我的应用程序未在目标计算机上运行。 我在目标计算机上安装了Sql Server Express LocalDB 2014。 我可以使用命令行使用sqllocaldb运行命令来validation它是否已安装并正在运行。

C:\Users\someuser\Desktop\Debug>sqllocaldb v Microsoft SQL Server 2014 (12.0.2000.8)` 

但是,当我在同一台目标计算机上运行我的应用程序时,出现以下错误。

C:\ Users \用户SomeUser的\桌面\调试> Testing_Console
11:21:07,912 [1] INFO TestingConsole.Program – 当前目录是C:\ Users \ someuser \ Desktop \ Debug
额外信息:( null)

未处理的exception:System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 – 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。

以下是我的app.config文件的开头,我在其中定义连接字符串。 我已经尝试将直接文件路径放入LM文件,但这并没有解决问题。 但是,由于程序可以在安装了Visual Studio的计算机上的任何目录下运行,因此可以预料到这一点。

    

我不知道这个问题是否只与安装了SQL Server Express LocalDB 2014有关。 谁能告诉我我的问题可能是什么?

问题与安装Sql Server Express LocalDB 2014而不是2012年有关。在该版本中,MS更改了连接字符串要求。 而不是Data Source=(LocalDB)\V11.0 ,连接字符串是Data Source=(LocalDB)\MSSQLLocalDB 。 更改连接字符串后,程序在仅安装了LocalDB 2014的计算机上正常运行。 这是一篇关于它的文章的链接: https : //connect.microsoft.com/SQLServer/feedback/details/845278/sql-server-2014-express-localdb-does-not-create-automatic-instance-v12- 0

http://msdn.microsoft.com/en-us/library/hh510202(v=sql.120).aspx

使用“Data Source =(LocalDB)\ MSSQLLocalDB”也不适用于我。 我必须使用“Data Source =(LocalDB)\ V12.0”访问数据库,并且为了工作,我需要首先运行此命令“sqllocaldb create”v12.0“。有关此链接的详细信息,请访问https:// dyball .wordpress.com / 2014/04/28 / SQL-2014-的LocalDB-错误不能-连接到locaidbv12 O /

您需要确保已安装.NET Framework 4.0,同样重要的是,还要安装.NET Framework 4.0.2更新(KB#2544514)。

一旦您的系统是最新的,您可以从以下位置下载SqlLocalDb安装程序:

http://www.microsoft.com/en-us/download/details.aspx?id=29062

具有(LocalDB)\v11.0连接字符串的(LocalDB)\v11.0将与此链接上给出的localDB ENU\x64\SqlLocalDB.MSI 下载SqlLocalDB

我在没有安装Visual Studio目标系统上试过这个。 此版本将与仅安装了SqlLocalDB.msi的数据库连接。 无需在目标系统上安装SqlExpress