SQL LocalDB出现“指定的LocalDB版本在此计算机上不可用”错误的原因是什么?

5
我刚在新工作站上进行了VS2015的干净安装更新2,并开始运行一些使用SQL LocalDb的集成测试。它们失败并显示以下SqlException

附加信息:本地数据库运行时:无法创建命名实例。

此计算机上没有指定的LocalDB版本。

我们正在使用的连接字符串是(在VS2013中之前可以正常工作):

server=(localdb)\SystemTest;Integrated Security=true

正如您所看到的,此处未指定任何版本,实际上是尝试连接到命名实例。

如果我运行sqllocaldb v,则会得到:

Microsoft SQL Server 2014 (12.0.2000.8)
Microsoft SQL Server 2016 Release Candidate 0 (RC0) (13.0.1100.286)

我尝试手动创建和启动'SystemTest'实例,甚至指定了版本,但似乎都会导致相同的SqlException异常。

连接字符串语法是否已更改?我漏掉了什么?

更新: 如果使用自动实例(现在在SQL2014及以上版本中命名为'MSSQLLocalDb'),则代码可以正常工作。通过sqllocaldb i比较这两个实例,它们完全相同,除了一个是自动创建的。它们都处于Running状态。因此,似乎问题只出现在具有命名实例的情况下。

1个回答

3

我发现了问题。我忘记了我使用的是localdb配置部分来自动创建命名实例。我在这里指定了一个版本,因为v11.0不再与VS2015一起安装,所以我会收到异常。

  <system.data.localdb>
    <localdbinstances>
      <add name="SystemTest" version="11.0" />
    </localdbinstances>
  </system.data.localdb>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接