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

时间:2014-02-04 21:34:00

标签: visual-studio entity-framework-6 localdb server-explorer sql-server-2012-localdb

经过一个小时的搜索,我无法相信找不到合适的解决方案。我在实体框架6.0上关注this article,它简单介绍了Code First。我创建了项目,并为要编译的项目安装了最新的EF Nuget package。我还验证了我安装了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有哪些步骤?

14 个答案:

答案 0 :(得分:259)

Visual Studio 2012 中,我只需输入:

(localdb)\v11.0

Visual Studio 2015 Visual Studio 2017 更改为:

(localdb)\MSSQLLocalDB

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

View/Server Explorer/(Right click) Data Connections/Add Connection

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

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

View/SQL Server Object Explorer.

答案 1 :(得分:247)

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

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

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

答案 2 :(得分:64)

选择:

  1. 数据来源:Microsoft SQL Server (SqlClient)
  2. 服务器名称:(localdb)\MSSQLLocalDB
  3. 登录服务器:Use Windows Authentication
  4. 按“刷新”按钮获取数据库名称:)

    Screenshot

答案 3 :(得分:16)

它对我有用。

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

答案 4 :(得分:16)

使用 SQL Server对象资源管理器(SSOX)而不是

  

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

即可

这很简单......

  • 查看菜单中,打开 SQL Server对象资源管理器

one

  • 右键点击{YourTableName}表> 查看设计器

two

完成。

答案 5 :(得分:8)

以下内容适用于使用SQLServer Express 2016的Windows 10上的Visual Studio 2017 Community Edition。

使用SqlLocalDB.exe info打开PowerShell检查它的名称,以及它是否与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
>

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

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

您可以使用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

为您的应用程序创建用户的说明

答案 6 :(得分:7)

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

cmd> sqllocaldb start

将显示

LocalDB instance "MSSQLLocalDB" started.

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

(localdb)\MSSQLLocalDB

如果没有输入数据库名称,请单击“测试连接”。

答案 7 :(得分:6)

修复不起作用。

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

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

  1. 打开“运行”对话框(WinKey + R)
  2. 输入:“services.msc”
  3. 选择SQL Server Browser
  4. 单击“属性”
  5. 将“已禁用”更改为“手动”或“自动”
  6. 启用“开始”服务按钮后,单击它。
  7. 完成!现在,您可以从“连接属性”中的“服务器名称”列表中选择本地SQL Server。

答案 8 :(得分:4)

以管理员身份运行CMD。

  1. 从开始菜单'cmd' - 等待它找到它。
  2. 右键单击cmd,然后选择以管理员身份打开
  3. 类型:cd C:\ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn
  4. type:SqlLocalDB start
  5. 现在输入:SqlLocalDB info
  6. 显示正在运行的sql实例...选择你想要的...
  7. 查找有关该实例的更多信息 type:SqlLocalDB info instanceName

  8. 现在从VS你可以设置你的连接 在VS中,查看/服务器资源管理器/(右键单击)数据连接/添加连接 数据源:Microsoft SQL Server(SqlClient) 服务器名称:(localdb)\ MSSQLLocalDB 登录到服务器:使用Windows身份验证 按“测试连接”,然后按“确定”。

  9. 完成工作

答案 9 :(得分:3)

Visual Studio 2017中最快的方法是转到工具 - > SQL Server - >新查询..从本地数据库中选择,然后在底部选择所需的数据库名称。

替代方式

Visual Studio 2017服务器名称为:

(localdb)\MSSQLLocalDB

使用菜单工具添加新连接 - >连接数据库......

答案 10 :(得分:1)

我按照上面的步骤操作,但是我忘记在Visual Studio 2015配置之前安装SQL Server 2014 LocalDB。

我的步骤如下:

  1. 安装SQL Server 2014 LocalDB;
  2. 打开Visual Studio 2015,然后打开 SQL Server对象资源管理器;
  3. 在SQL Server标记下找到您的LocalDB。
  4. 希望这有助于任何人。

答案 11 :(得分:1)

https://aspblogs.blob.core.windows.net/media/dixin/Open-Live-Writer/89ee21b2c263_49AE/image_thumb_5.png Windows Application Log Error 计算机\HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\UserInstances{2DD3D445-34C1-4251-B67D-7DFEED432A87}

只需将 ParentInstance 更改为 MSSQL14E.LOCALDB 或 MSSQL15E.LOCALDB。

https://weblogs.asp.net/dixin/installing-sql-server-2017-2019-localdb-and-resolve-the-engine-versioning-problem?__r=8d90635095e1cd4

答案 12 :(得分:0)

场景:Windows 8.1,VS2013 Ultimate,SQL Express已安装并正在运行,SQL Server浏览器已禁用。 这对我有用:

  1. 首先,我在服务下启用了SQL Server Browser。
  2. 在Visual Studio中: 打开包管理器控制台,然后键入:启用 - 迁移;然后键入启用 - 迁移--ContextTypeName YourContextDbName 在VS中创建了Migrations文件夹。
  3. 在Migrations文件夹中,您将找到“Configuration.cs”文件,打开自动迁移:AutomaticMigrationsEnabled = true;
  4. 再次运行您的应用程序,环境创建一个DefaultConnection,您将从上下文中看到新表。这个新连接指向localdb。创建的连接字符串显示:Data Source =(LocalDb)\ v11.0 ...(更多参数和创建的mdf文件的路径)
  5. 您现在可以使用创建新连接     服务器名称:(LocalDb)\ v11.0(点击刷新)     连接到数据库:在下拉列表中选择新数据库。

    我希望它有所帮助。

答案 13 :(得分:-1)

使用SQL Server 2017和Visual Studio 2015,我使用了localhost\SQLEXPRESS

enter image description here