如何在Visual Studio Server Explorer中连接到LocalDB?

ora*_*rad 225 server-explorer visual-studio localdb entity-framework-6 sql-server-2012-localdb

经过一个小时的搜索后,我无法相信找不到合适的解决方案.我正在关注Entity Framework 6.0上的这篇文章,它简单介绍了Code First.我创建了项目并安装了最新的EF Nuget包以供项目编译.我还验证了我安装了Visual Studio 2013附带的Microsoft SQL Server 2012 Express LocalDB.我的本地计算机上没有安装任何其他SQL实例.程序运行并将条目添加到数据库并在控制台中输出.但是,当文章说"检查你的localdb"时,它没有说明如何!我没有在项目文件夹下看到任何'.mdf'或'.ldf'文件.我尝试了将Visual Studio的Server Explorer连接到LocalDB的各种方法.向导无法找到(localdb)或找不到服务器资源管理器中的任何提供程序来接受连接字符串,就像(localdb)\v11.0;Integrated Security=true;我在StackOverflow中询问了几个地方但没有答案工作或标记为答案.请帮忙,这不一定是令人沮丧的!

将Visual Studio Server Explorer连接到LocalDB的步骤是什么?

Rat*_*ica 269

Visual Studio 2012中,我所要做的就是输入:

(localdb)\v11.0
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2015Visual Studio 2017更改为:

(localdb)\MSSQLLocalDB
Run Code Online (Sandbox Code Playgroud)

作为添加Microsoft SQL Server Data源的服务器名称:

View/Server Explorer/(Right click) Data Connections/Add Connection
Run Code Online (Sandbox Code Playgroud)

然后填充数据库名称.我不需要在接受的答案中执行所有其他步骤,但如果服务器名称在服务器名称组合框中自动可用则会很好.

您还可以使用以下方法浏览计算机上可用的LocalDB数据库名称:

View/SQL Server Object Explorer.
Run Code Online (Sandbox Code Playgroud)

  • 为什么选择微软?为什么要更改名称而不更新文档?(谢谢VS 2015路径) (5认同)
  • 是的,这应该是第一次工作.但如果没有,接受的答案中的步骤应该启动服务并使其工作. (4认同)

ora*_*rad 251

好的,回答我自己的问题.

将LocalDB连接到Visual Studio Server Explorer的步骤

  1. 打开命令提示符
  2. SqlLocalDB.exe start v11.0
  3. SqlLocalDB.exe info v11.0
  4. 复制以np开头的实例管道名称:\ ...
  5. 在Visual Studio中选择工具>连接到数据库...
  6. 对于服务器名称输入(localdb)\v11.0.如果它不起作用,请使用先前复制的实例管道名称.您还可以使用它来连接SQL Management Studio.
  7. 在下一个下拉列表中选择数据库
  8. 单击确定

在此输入图像描述

  • 现在几乎所有在MS平台上采取的行动都涉及一些魔术或先前记忆的知识......谁会在5年内支持这些事情,当时有一套全新的魔法? (85认同)
  • 谢谢!只是为了补充这个优秀的答案(和优秀的问题):`SqlLocalDb info`将列出所有服务器名称.在我的例子中,在EF代码优先魔术之后,我的数据库最终在`MSSQLLocalDB`而不是`v11.0`,所以我在Add Connection对话框中输入`(localdb)\ MSSQLLocalDB`. (33认同)
  • 整个下午,我一直在摸不着头脑.为什么他们必须如此复杂,以至于它曾经如此简单易行?谢谢您的帮助. (4认同)
  • 我相信越来越多的人都倾向于使用微软的其他编程语言.这种简单的配置文件和文件位置变得比其他语言所缺乏的更难.如果他们缺乏. (2认同)

小智 65

选择:

  1. 数据源: Microsoft SQL Server (SqlClient)
  2. 服务器名称: (localdb)\MSSQLLocalDB
  3. 登录到服务器: Use Windows Authentication

按刷新按钮获取数据库名称:)

截图

  • 同样在这里vs2015 ..这就是答案..我猜他们改名为localDb? (4认同)
  • 这对于我在Win 10预览中的VS 2015 Preview来说很有用. (2认同)

Sve*_*vek 21

使用SQL Server的对象资源管理器(SSOX)取而代之

与其他答案不同,此方法使用:
- 无特殊命令.
- 没有复杂的配置.
只需使用SQL Server对象资源管理器即可

这很简单......

  • 从" 视图"菜单中,打开SQL Server对象资源管理器.

一

  • 右键单击{YourTableName}表> 视图设计器

二

完成.


小智 16

它对我有用.

  1. 打开命令提示符
  2. 运行"SqlLocalDB.exe start"
  3. 系统响应"LocalDB实例"mssqllocaldb"已启动".
  4. 在VS中,查看/服务器资源管理器/(右键单击)数据连接/添加连接
    • 数据源:Microsoft SQL Server(SqlClient)
    • 服务器名称:(localdb)\ MSSQLLocalDB
    • 登录到服务器:使用Windows身份验证
  5. 按"测试连接",然后按"确定".


sim*_*905 8

以下内容适用于使用SQLServer Express 2016的Windows 10上的Visual Studio 2017社区版.

打开PowerShell检查它的名称SqlLocalDB.exe info以及是否正在运行SqlLocalDB.exe info NAME.这是我的机器上的样子:

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>
Run Code Online (Sandbox Code Playgroud)

如果它没有运行,那么你需要启动它SqlLocalDB.exe start MSSQLLocalDB.当它运行时,你会看到以Instance pipe name:哪个开头np:\\.复制该命名管道字符串.在VS2017中,打开视图Server Explorer并创建一个新类型的连接Microsoft SQL Server (SqlClient)(不要被您想要完整胖连接类型的其他文件类型所欺骗),并将其设置为Server name:您从PowerShell复制的实例管道名称.

我还将其设置为Connect to database在我的Dotnet核心/实体框架核心项目中使用的连接字符串中的相同数据库dotnet ef database update.

您可以使用sqlcmd命名管道字符串登录并创建数据库:

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

有关如何为应用程序创建用户的说明,请访问https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility


OzB*_*Bob 7

Visual Studio 2015 RC,安装了LocalDb 12,之前的类似指令但仍然不应该要求知道'魔术',在使用之前,默认实例应该已经打开... Rant完成,没有解决方法:

cmd> sqllocaldb start
Run Code Online (Sandbox Code Playgroud)

哪个会显示

LocalDB instance "MSSQLLocalDB" started.
Run Code Online (Sandbox Code Playgroud)

您的实例名称可能不同.无论哪种方式弹出到VS并打开Server Explorer,右键单击Data Connections,选择Add,选择SQL Server,在服务器名称类型中:

(localdb)\MSSQLLocalDB
Run Code Online (Sandbox Code Playgroud)

如果不输入数据库名称,请单击"测试连接".


use*_*866 6

修复不起作用.

正如示例说明中一样,所有这些步骤仅提供对"系统"数据库的访问,并且没有选择您要访问的现有用户数据库的选项.

访问本地(非Express Edition)Microsoft SQL Server实例的解决方案驻留在SQL Server端:

  1. 打开"运行"对话框(WinKey + R)
  2. 输入:"services.msc"
  3. 选择SQL Server Browser
  4. 单击属性
  5. 将"已禁用"更改为"手动"或"自动"
  6. 启用"开始"服务按钮后,单击它.

完成!现在,您可以从"连接属性"中的"服务器名称"列表中选择本地SQL Server.

  • 此StackOverflow Q/A是关于[LocalDB](http://msdn.microsoft.com/en-us/library/hh510202.aspx).我认为你的答案是关于启用SQL的其他实例. (7认同)