如何将 LocalDB 添加到 Visual Studio 2015 社区的 SQL 服务器对象资源管理器?
How to add LocalDB to Visual Studio 2015 Community's SQL Server Object Explorer?
问题
我不明白如何让 LocalDB 显示在 SQL 服务器对象资源管理器中。在某些 VM 上,它会自动显示,而在其他一些 VM 上则不会。仍然,在谷歌搜索了几个小时后,我还是不明白。
现状
- 我有一个干净的虚拟机
- 我安装了Visual Studio 2015 Community(所有默认设置)
- 我让控制台应用程序 运行(Entity Framework 6,代码优先,控制台应用程序)在另一个 VM 上运行并自动创建一个数据库,然后显示在 SQL 服务器对象资源管理器;但不是这次
错误说:
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
因此,在此 VM 上,未创建任何数据库,SQL 服务器对象资源管理器的 SQL Server
节点中也未显示任何内容。
我想知道的
- Visual Studio 2015社区自带LocalDB;所以一切都应该开箱即用,但事实并非如此,我不知道为什么
- LocalDB 数据库只是一对文件(*.mdf 和 *.ldf)
- 我已经看到在
C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
的默认数据库位置创建的文件;但是在这个虚拟机上,没有这样的文件夹
App.config
每次看起来都是这样(当我在 Visual Studio 中安装 Entity Framework 6 NuGet 包管理器时,它是自动创建的):
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>
其他随机评论
- 之前,使用SQL服务器,有必要打开某些端口,但LocalDB 运行s,据我了解,在[=66]启动时作为一个单独的按需进程=].
- 我不知道如何调试
SQLException
- LocalDB 是否与 Visual Studio 2015 Community 打包在一起,我需要单独安装吗?
如果您不确定是否安装了本地数据库,或者不确定应该使用哪个数据库名称来连接它 - 尝试 运行 'sqllocaldb info' 命令 - 它会显示现有的本地数据库.
现在,据我所知,本地数据库应该与 Visual Studio 2015 一起安装。但它可能不是必需的功能,如果出现问题或由于某种原因无法安装 - Visual Studio 安装仍在继续(请注意,这只是我的猜测)。所以保险起见不要依赖它总是和VS一起安装。
My App.config looks as below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<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="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
我注意到你上面提到的路径中有localDB,版本为v11.0。
所以我在“添加连接”对话框中输入了 (LocalDB\V11.0),它对我有用。
我最近在安装 VS2015 Community Edition Update 1 时遇到了同样的问题。
我通过添加 中的“SQL Server Data Tools”解决了这个问题VS2015 安装程序 ... 当我第一次 运行 安装程序时,我 select 编辑了 "Custom" 安装类型而不是 "Default"。我想查看可用的安装选项,但 select 与已勾选的选项不同。我的假设是,任何已经勾选的基本上都是默认安装。但它不是。
检查是否安装了LocalDb:
- 运行
cmd
并输入 sqllocaldb i
如果找到,这应该会给你安装的 sqllocaldb 实例。
- 运行 SSMS(SQL 服务器管理工作室)。
- 尝试使用 windows 身份验证连接到此实例
(localdb)\V11.0
。
如果出现错误 Cannot connect to (localdb)\V11.0.
将实例名称更改为 (localdb)\MSSQLLocalDB
并再次尝试连接,如果仍然出现相同的错误。
按照以下步骤安装 LocalDb:
- 关闭 SSMS。
- 关闭 VS (Visual Studio) 如果它是 运行ning。
- 转到
Start Menu
并输入搜索 sqlLocalDb
。
- 从出现的结果中选择
sqlLocalDb.msi
并单击它。
- SQL 安装程序将开始安装 LocalDB
完成安装后 re-run SSMS
并尝试连接到任一实例 (localdb)\V11.0
或 (localdb)\MSSQLLocalDB
,其中一个应该可以工作,具体取决于 Visual Studio 你的版本。
您还可以验证是否使用 Visual Studio 安装了 localdb
,只需创建新的 sql 文件并转到文件顶部 header 的连接图标默认情况下,它会列出您可以连接的所有服务器,包括 localdb
(如果已安装)。
除了上面提到的查找是否安装了 localdb 的方法外,您还可以在服务器计算机上使用 MS windows power shell
或 windows command processor CMD
甚至 NuGet package manager console
和 运行 这些命令 sqllocaldb i
和 sqllocaldb v
将向您显示 localdb 名称,如果它已安装并且安装了 MSSQL 服务器版本并且 运行ning 在您的机器上。
- 从开始菜单搜索 "sqlLocalDb",
- 点击运行命令,
- 返回 VS 2015 tools/connect 到数据库,
- select MSSQL 服务器,
- 输入 (localdb)\MSSQLLocalDB 作为服务器名称
Select 您的数据库已准备就绪。
我尝试只安装 LocalDB,但在我的 VS 2015 安装中遗漏了它。
按照下面 URL 并有选择地下载大小仅为 33mb 的 LocalDB (2012) 安装程序:)
https://www.microsoft.com/en-us/download/details.aspx?id=29062
如果您正在寻找用于 Visual Studio 2015 集成的 SQL 服务器数据工具,请从以下网址下载:
- 在 windows 开始菜单中搜索 sqllocaldb 或 localDB 并右键单击打开的文件位置
- 在您通过搜索找到的文件位置打开命令提示符
在命令提示符下键入 sqllocaldb start
使用<add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
另一个解决方案(至少对于 VS2019)如果你不知道你的 localdb ServerName:
工具 => SQL 服务器 => 新查询
在弹出窗口中 select Local 那里你应该找到你的 localdb
的服务器名称(和更多)
问题
我不明白如何让 LocalDB 显示在 SQL 服务器对象资源管理器中。在某些 VM 上,它会自动显示,而在其他一些 VM 上则不会。仍然,在谷歌搜索了几个小时后,我还是不明白。
现状
- 我有一个干净的虚拟机
- 我安装了Visual Studio 2015 Community(所有默认设置)
- 我让控制台应用程序 运行(Entity Framework 6,代码优先,控制台应用程序)在另一个 VM 上运行并自动创建一个数据库,然后显示在 SQL 服务器对象资源管理器;但不是这次
错误说:
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
因此,在此 VM 上,未创建任何数据库,SQL 服务器对象资源管理器的 SQL Server
节点中也未显示任何内容。
我想知道的
- Visual Studio 2015社区自带LocalDB;所以一切都应该开箱即用,但事实并非如此,我不知道为什么
- LocalDB 数据库只是一对文件(*.mdf 和 *.ldf)
- 我已经看到在
C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
的默认数据库位置创建的文件;但是在这个虚拟机上,没有这样的文件夹 App.config
每次看起来都是这样(当我在 Visual Studio 中安装 Entity Framework 6 NuGet 包管理器时,它是自动创建的):
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>
其他随机评论
- 之前,使用SQL服务器,有必要打开某些端口,但LocalDB 运行s,据我了解,在[=66]启动时作为一个单独的按需进程=].
- 我不知道如何调试
SQLException
- LocalDB 是否与 Visual Studio 2015 Community 打包在一起,我需要单独安装吗?
如果您不确定是否安装了本地数据库,或者不确定应该使用哪个数据库名称来连接它 - 尝试 运行 'sqllocaldb info' 命令 - 它会显示现有的本地数据库.
现在,据我所知,本地数据库应该与 Visual Studio 2015 一起安装。但它可能不是必需的功能,如果出现问题或由于某种原因无法安装 - Visual Studio 安装仍在继续(请注意,这只是我的猜测)。所以保险起见不要依赖它总是和VS一起安装。
My App.config looks as below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<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="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
我注意到你上面提到的路径中有localDB,版本为v11.0。 所以我在“添加连接”对话框中输入了 (LocalDB\V11.0),它对我有用。
我最近在安装 VS2015 Community Edition Update 1 时遇到了同样的问题。
我通过添加 中的“SQL Server Data Tools”解决了这个问题VS2015 安装程序 ... 当我第一次 运行 安装程序时,我 select 编辑了 "Custom" 安装类型而不是 "Default"。我想查看可用的安装选项,但 select 与已勾选的选项不同。我的假设是,任何已经勾选的基本上都是默认安装。但它不是。
检查是否安装了LocalDb:
- 运行
cmd
并输入sqllocaldb i
如果找到,这应该会给你安装的 sqllocaldb 实例。 - 运行 SSMS(SQL 服务器管理工作室)。
- 尝试使用 windows 身份验证连接到此实例
(localdb)\V11.0
。
如果出现错误 Cannot connect to (localdb)\V11.0.
将实例名称更改为 (localdb)\MSSQLLocalDB
并再次尝试连接,如果仍然出现相同的错误。
按照以下步骤安装 LocalDb:
- 关闭 SSMS。
- 关闭 VS (Visual Studio) 如果它是 运行ning。
- 转到
Start Menu
并输入搜索sqlLocalDb
。 - 从出现的结果中选择
sqlLocalDb.msi
并单击它。 - SQL 安装程序将开始安装 LocalDB
完成安装后 re-run SSMS
并尝试连接到任一实例 (localdb)\V11.0
或 (localdb)\MSSQLLocalDB
,其中一个应该可以工作,具体取决于 Visual Studio 你的版本。
您还可以验证是否使用 Visual Studio 安装了 localdb
,只需创建新的 sql 文件并转到文件顶部 header 的连接图标默认情况下,它会列出您可以连接的所有服务器,包括 localdb
(如果已安装)。
除了上面提到的查找是否安装了 localdb 的方法外,您还可以在服务器计算机上使用 MS windows power shell
或 windows command processor CMD
甚至 NuGet package manager console
和 运行 这些命令 sqllocaldb i
和 sqllocaldb v
将向您显示 localdb 名称,如果它已安装并且安装了 MSSQL 服务器版本并且 运行ning 在您的机器上。
- 从开始菜单搜索 "sqlLocalDb",
- 点击运行命令,
- 返回 VS 2015 tools/connect 到数据库,
- select MSSQL 服务器,
- 输入 (localdb)\MSSQLLocalDB 作为服务器名称
Select 您的数据库已准备就绪。
我尝试只安装 LocalDB,但在我的 VS 2015 安装中遗漏了它。 按照下面 URL 并有选择地下载大小仅为 33mb 的 LocalDB (2012) 安装程序:)
https://www.microsoft.com/en-us/download/details.aspx?id=29062
如果您正在寻找用于 Visual Studio 2015 集成的 SQL 服务器数据工具,请从以下网址下载:
- 在 windows 开始菜单中搜索 sqllocaldb 或 localDB 并右键单击打开的文件位置
- 在您通过搜索找到的文件位置打开命令提示符
在命令提示符下键入
sqllocaldb start
使用
<add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
另一个解决方案(至少对于 VS2019)如果你不知道你的 localdb ServerName:
工具 => SQL 服务器 => 新查询
在弹出窗口中 select Local 那里你应该找到你的 localdb
的服务器名称(和更多)