无法连接到SQL Server localdb实例

时间:2015-03-30 09:54:51

标签: sql-server sql-server-express localdb

我安装了SQL Server 2014 localdb和SQL Server Management Studio。我正在尝试使用在Visual Studio中开发的WPF应用程序连接到localdb

这是我正在使用的连接字符串

<connectionStrings>
    <add name="ReservationContextString" 
         connectionString="Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=ReservationDB;AttachDbFilename=|DataDirectory|\\ReservationDB.mdf" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

当我运行应用程序时,我得到以下异常

  

EntityFramework.dll中发生了'System.Data.SqlClient.SqlException'类型的异常但未在用户代码中处理

     

其他信息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

我不确定为什么该应用程序无法连接到localdb

注意:我可以使用SQL Server Management Studio使用localdb作为服务器名称连接到(localdb)\MSSQLLocalDB。因此,localdb似乎已正确安装。

2 个答案:

答案 0 :(得分:1)

从这个troubleshooting guide中获取灵感,我能够解决这个问题。实体框架的defaultConnectionFactory应指向localdb实例,但在app.config(或web.config)中,我将其设置为指向SQL Server实例。必须将其更改为使用localdb实例。

旧条目

  <entityFramework>
      <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
      </defaultConnectionFactory>      
      ....
  </entityFramework>

应为(新代码)

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
          <parameter value="MSSQLLocalDB" />
        </parameters>
      </defaultConnectionFactory>      
      ..      
  </entityFramework>

注意 System.Data.Entity.Infrastructure.LocalDbConnectionFactory , 而不是 System.Data.Entity.Infrastructure.SqlConnectionFactory

答案 1 :(得分:0)

在我的情况下,我必须首先从VS内部创建数据库 enter image description here

然后一切都像魅力一样