【发布时间】:2015-12-26 03:05:21
【问题描述】:
问题
我不明白如何让 LocalDB 显示在 SQL Server 对象资源管理器中。在某些虚拟机上,它会自动显示,而在其他一些虚拟机上,它不会。尽管如此,在谷歌上搜索了几个小时后,我还是不明白。
现状
- 我有一个干净的虚拟机
- 我安装了 Visual Studio 2015 Community(所有默认设置)
- 我让一个控制台应用程序运行(实体框架 6,代码优先,控制台应用程序),它在另一个 VM 上工作并自动创建了一个数据库,然后显示在 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
因此,在此 VM 上,没有创建任何数据库,并且 SQL Server 对象资源管理器的 SQL Server 节点中也没有显示任何内容。
我想知道的
- Visual Studio 2015 Community 自带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>
其他随机cmets
- 以前,对于 SQL Server,必须打开某些端口,但据我了解,LocalDB 在 Visual Studio 启动时作为一个单独的进程按需运行。
- 不知道怎么调试
SQLException - LocalDB 没有随 Visual Studio 2015 Community 打包,我需要单独安装吗?
【问题讨论】:
-
在命令行中运行“sqllocaldb info”,看看你的虚拟机上有哪些数据库。
-
据我记忆应该已经安装好了。可能在安装过程中出了点问题。我会先尝试在这台机器上安装 LocalDb,看看这是否能解决问题。如果是这样 - 好吧,由于某种原因,它没有安装。
-
正如@Evk 下面提到的,LocalDB 现在是减少 VS 安装大小的可选功能。检查 VS 2015 安装程序中的“SQL Server Data Tools”选项,这将确保安装 LocalDB。大多数其他 SQL 功能仍然默认安装,因为它们的大小非常小,并且在服务器资源管理器连接等关键场景中是必需的。
-
相关问题,如何以编程方式创建 localdb stackoverflow.com/questions/25577626/…
标签: sql-server visual-studio-2015 localdb