如何将LocalDB添加到Visual Studio 2015社区的SQL Server对象资源管理器?

Ler*_*rve 54 sql-server localdb visual-studio-2015

问题

我不明白如何在SQL Server对象资源管理器中显示LocalDB.在某些虚拟机上,它会自动显示,在某些其他虚拟机上则不会.谷歌搜索了几个小时后,我还是没有得到它.

现在的情况

  1. 我有一个干净的VM
  2. 我安装了Visual Studio 2015社区(所有默认设置)
  3. 我让控制台应用程序运行(实体框架6,代码优先,控制台应用程序),它在另一个虚拟机上运行并自动创建一个数据库,然后在SQL Server对象资源管理器中显示; 但这次不是

错误说:

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.) ---> System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

因此,在此VM上,不会创建任何数据库,也不会在SQL Server对象资源管理器的SQL Server节点中显示任何内容.

连接到LocalDB

我想知道的是什么

  • Visual Studio 2015社区附带LocalDB; 所以一切都应该开箱即用,但事实并非如此,我不知道为什么
  • LocalDB数据库只是一对文件(*.mdf和*.ldf)
  • 我已经看到了在默认数据库位置创建的文件C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB; 但是在这个VM上,没有这样的文件夹
  • App.config这个样子,每次(当我安装实体框架6的NuGet包管理器在Visual Studio它自动创建方式):

App.config中

<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>
Run Code Online (Sandbox Code Playgroud)

其他随机评论

  • 早些时候,对于SQL Server,有必要打开某些端口,但据我所知,LocalDB作为Visual Studio启动时需要的单独进程运行.
  • 我不知道如何调试 SQLException
  • LocalDB是否未与Visual Studio 2015社区打包在一起,是否需要单独安装?

Gon*_*ero 47

我今天遇到了同样的问题,最近安装了VS2015 Community Edition Update 1.

我通过从VS2015安装程序安装程序添加" SQL Server数据工具 "来解决问题...当我第一次选择"自定义"安装类型而不是"默认"时运行安装程序.我想看看哪些安装选项可用,但没有选择与已经勾选的内容不同的东西.我的假设是,已经勾选的内容基本上都是默认安装.但事实并非如此.

  • 我最近下载了Visual Studio Community Edition,遇到了同样的问题,无法创建本地数据库.贡萨洛的解决方案解决了我的问题.我只想添加一个例外,我已经安装了VS,所以我无法在安装过程中添加这些工具.相反,转到工具 - >扩展和更新 - >更新 - >产品更新并安装"Microsoft SQL Server更新...".然后重新启动Visual Studio,重新构建并再次构建项目.这次它对我有用.我在两台Windows 10计算机上有这种完全相同的情况.为我修好了.谢谢gonzalo! (10认同)
  • 看来(至少)对于VS Community 2015.2,在安装过程中默认不选择"SQL Server数据工具".它是额外的450MB左右,没有它,许多更新将无法安装.只需重新运行安装程序并选择修改即可. (3认同)

Ash*_*ada 25

要检查是否安装了LocalDb:

  • 运行SSMS(SQL Server Management Studio).
  • 尝试(localdb)\V11.0使用Windows身份验证连接到此实例.

如果出现错误,Cannot connect to (localdb)\V11.0.请将实例名称更改为(localdb)\MSSQLLocalDB并再次尝试连接,如果仍然出现相同的错误.

请按照以下步骤安装LocalDb:

  • 关闭SSMS.
  • 关闭VS(Visual Studio),如果它正在运行.
  • 转到Start Menu并输入搜索sqlLocalDb.
  • 从显示的结果中选择sqlLocalDb.msi并单击它.
  • SQL安装程序将开始安装LocalDB

完成安装后重新运行SSMS并尝试连接到任一实例,(localdb)\V11.0或者(localdb)\MSSQLLocalDB其中一个应该可以工作,具体取决于您拥有的Visual Studio版本.

您还可以localdb通过简单地创建新的sql文件来验证是否已使用Visual Studio安装,并转到文件顶部标题上的连接图标,默认情况下会列出您可以连接到的所有服务器(包括localdb已安装).

除了发现如果安装的LocalDB,你也可以用上面提到的方式MS windows power shell或者windows command processor CMD甚至NuGet package manager console在服务器计算机上并运行这些命令sqllocaldb i并且sqllocaldb v如果是安装和安装并运行了MSSQL服务器版本会告诉你的LocalDB名在你的机器上.

  • (localdb)\ MSSQLLocalDB对我来说很好. (4认同)
  • 只有安装了SQL Server Management Studio(SSMS),此解决方案才有效.SSMS不是Visual Studio产品集的一部分. (2认同)

Evk*_*Evk 14

如果您不确定是否安装了本地数据库,或者不确定应该使用哪个数据库名称来连接它 - 请尝试运行'sqllocaldb info'命令 - 它将显示现有的localdb数据库.

现在,据我所知,本地数据库应该与Visual Studio 2015一起安装.但可能它不是必需的功能,如果出现问题或由于某种原因无法安装 - Visual Studio安装仍然继续(请注意,只是我的猜测).因此,为了安全起见,不要依赖它将始终与VS一起安装.


小智 9

  1. 从开始菜单中搜索"sqlLocalDb",
  2. 单击运行命令,
  3. 返回VS 2015工具/连接数据库,
  4. 选择MSSQL服务器,
  5. 输入(localdb)\ MSSQLLocalDB作为服务器名称

选择您的数据库并准备好了.