如何连接到Visual Studio服务器资源pipe理器中的LocalDB?
我不能相信,经过一个小时的search,我找不到一个工作的解决scheme。 我正在阅读关于Entity Framework 6.0的这篇文章 ,它给出了Code First的简单介绍。 我创build了该项目,并安装了最新的EF Nuget包以供项目编译。 我还证实,我安装了随Visual Studio 2013一起提供的Microsoft SQL Server 2012 Express LocalDB。我没有在本地计算机上安装任何其他SQL实例。 程序运行并将条目添加到数据库并在控制台中输出。 但是当文章说“检查你的localdb”它不说如何! 我没有看到在项目文件夹下创build的任何“.mdf”或“.ldf”文件。 我想尽一切办法将Visual Studio的服务器资源pipe理器连接到LocalDB。 向导无法find(localdb)
或无法在服务器资源pipe理器中find任何提供程序来接受连接string,如(localdb)\v11.0;Integrated Security=true;
我见过这个在StackOverflow中问几个地方,但没有答案工程或标记为答案。 请帮忙,这不一定是这个沮丧!
将Visual Studio Server Explorer连接到LocalDB的步骤是什么?
好,回答我自己的问题。
将LocalDB连接到Visual Studio Server Explorer的步骤
- 打开命令提示符
- 运行
SqlLocalDB.exe start v11.0
- 运行
SqlLocalDB.exe info v11.0
- 复制以np:\ …开头的实例pipe道名称
- 在Visual Studio中select工具>连接到数据库…
- 对于服务器名称input
(localdb)\v11.0
。 如果不起作用,请使用先前复制的实例pipe道名称 。 您也可以使用它来连接SQL Management Studio。 - 在下一个下拉列表中select数据库
- 点击OK
在Visual Studio 2012中,我只需input:
(localdb)\v11.0
Visual Studio 2015和Visual Studio 2017更改为:
(localdb)\MSSQLLocalDB
作为添加Microsoft SQL Server Data
源时的服务器名称:
View/Server Explorer/(Right click) Data Connections/Add Connection
然后填充数据库名称。 我不需要在接受的答案中执行所有其他步骤,但如果服务器名称在服务器名称combobox中自动可用,那将会很好。
您还可以使用以下方式浏览计算机上可用的LocalDB数据库名称:
View/SQL Server Object Explorer.
select:
- 数据源:
Microsoft SQL Server (SqlClient)
- 服务器名称:
(localdb)\MSSQLLocalDB
- login到服务器:
Use Windows Authentication
按刷新button获取数据库名称:)
它为我工作。
- 打开命令提示符
- 运行“SqlLocalDB.exe启动”
- 系统响应“LocalDB实例”mssqllocaldb“已启动”。
- 在VS中,查看/服务器资源pipe理器/(右键单击)数据连接/添加连接
- 数据源:Microsoft SQL Server(SqlClient)
- 服务器名称:(localdb)\ MSSQLLocalDB
- login到服务器:使用Windows身份validation
- 按“testing连接”,然后确定。
Visual Studio 2015 RC,安装了LocalDb 12,与之前的类似说明,但仍然不应该被要求知道'魔术',在使用这个之前,默认的实例应该已经打开了… Rant complete,no for solution :
cmd> sqllocaldb start
哪个会显示
LocalDB instance "MSSQLLocalDB" started.
您的实例名称可能不同。 无论哪种方式popup到VS并打开服务器资源pipe理器,右键单击数据连接,select添加,selectSQL Server,在服务器名称types中:
(localdb)\MSSQLLocalDB
如果不input数据库名称,请单击“testing连接”。
以下内容适用于使用SQLServer Express 2016的Windows 10上的Visual Studio 2017 Community Edition。
打开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 >
如果它没有运行,那么你需要启动它与SqlLocalDB.exe start MSSQLLocalDB
。 当它运行时,您会看到Instance pipe name:
以np:\\
开头。 复制该命名的pipe道string。 在VS2017中打开视图Server Explorer
并创build一个typesMicrosoft SQL Server (SqlClient)
的新连接(不要被其他文件types想要的全连接types愚弄),并设置Server name:
作为实例pipe道从PowerShell复制的名称。
我还设置Connect to database
是在我的Dotnet核心/entity framework核心项目中使用dotnet ef database update
设置的连接string中的dotnet ef database update
。
您可以使用sqlcmd
和命名的pipe道stringlogin并创build数据库:
sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO
有关于如何为应用程序创build用户的说明,请访问https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility
修复不起作用。
正如示例所示,所有这些步骤仅提供对“系统”数据库的访问权限,不能select要访问的现有用户数据库。
访问本地(不是Express Edition)Microsoft SQL服务器实例的解决scheme驻留在SQL Server端:
- 打开运行对话框(WinKey + R)
- 键入:“services.msc”
- selectSQL Server浏览器
- 点击属性
- 将“禁用”更改为“手动”或“自动”
- 当“开始”服务button启用时,点击它。
完成! 现在,您可以从“连接属性”的“服务器名称”列表中select本地SQL Server。
使用SQL Server对象资源pipe理器(SSOX)来代替
- 从视图菜单中,打开SQL Server对象资源pipe理器 。
- 右键点击
{YourTableName}
表格> 视图devise器
以pipe理员身份运行CMD。
- 从开始菜单'cmd' – 等待它find它。
- 右键单击cmd,然后select以pipe理员身份打开
- 键入:cd C:\ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn
- 键入:SqlLocalDB启动
- 现在键入:SqlLocalDB信息
- 显示正在运行的SQL实例…select你想要的…
-
find更多关于实例types的信息:SqlLocalDB info instanceName
-
数据连接/添加连接数据源:Microsoft SQL Server(SqlClient)服务器名称:(localdb)\ MSSQLLocalDBlogin到服务器:使用Windowsauthentication按“testing连接”,然后确定。
-
任务完成
在Visual Studio 2017中最快的方法是转到工具 – > SQL Server – >新查询。从本地数据库中select,然后select底部所需的数据库名称。
另一种方式
Visual Studio 2017服务器名称是:
(localdb)\MSSQLLocalDB
使用菜单工具 – >连接到数据库…添加新的连接
我遵循上面的步骤,但是我忘了在Visual Studio 2015configuration之前安装SQL Server 2014 LocalDB。
我的步骤如下:
- 安装SQL Server 2014 LocalDB;
- 打开Visual Studio 2015,然后打开SQL Server对象资源pipe理器 ;
- 在SQL Server标记下find您的LocalDB。
希望这有助于任何人。
场景:Windows 8.1,VS2013旗舰版,SQL Express安装并运行,SQL Server Browser禁用。 这对我工作:
- 首先,我启用了SQL Server Browser服务。
- 在Visual Studio中:打开程序包pipe理器控制台,然后input: Enable-Migrations ; 然后键入Enable-Migrations -ContextTypeName在VS中创buildMigrations文件夹的YourContextDbName 。
- 在Migrations文件夹中,您将find“Configuration.cs”文件,通过以下方式启用自动迁移:AutomaticMigrationsEnabled = true;
- 再次运行您的应用程序,环境创build一个DefaultConnection,您将看到您的上下文中的新表。 这个新的连接指向localdb。 创build的连接string显示:Data Source =(LocalDb)\ v11.0 …(创build的mdf文件的更多参数和path)
您现在可以使用服务器名称创build一个新的连接:(LocalDb)\ v11.0(点击刷新)连接到数据库:在下拉列表中select新的数据库。
我希望它有帮助。