我不明白如何在SQL Server对象资源管理器中显示LocalDB。在某些虚拟机上,它会自动显示,在某些其他虚拟机上则不会。谷歌搜索了几个小时后,我还是没有得到它。
错误说:
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
节点中显示任何内容。
C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
的默认数据库位置创建的文件;但是在这个VM上,没有这样的文件夹App.config
每次都像这样(当我在Visual Studio中安装Entity Framework 6 NuGet包管理器时,它会自动创建):<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>
SQLException
答案 0 :(得分:47)
我最近在安装VS2015 Community Edition Update 1时遇到了同样的问题。
我通过从 VS2015安装程序安装程序添加“ SQL Server数据工具 ”来解决问题...当我运行时安装程序第一次选择“自定义”安装类型而不是“默认”。我想看看哪些安装选项可用,但没有选择与已经勾选的内容不同的东西。我的假设是,已经勾选的内容基本上都是默认安装。但事实并非如此。
答案 1 :(得分:25)
检查是否安装了LocalDb:
(localdb)\V11.0
。如果出现错误Cannot connect to (localdb)\V11.0.
,请将实例名称更改为(localdb)\MSSQLLocalDB
,如果仍然遇到相同的错误,请再次尝试连接。
按照以下步骤安装LocalDb:
Start Menu
并输入搜索sqlLocalDb
。sqlLocalDb.msi
并点击它。完成安装后重新运行SSMS
并尝试连接到(localdb)\V11.0
或(localdb)\MSSQLLocalDB
实例,其中一个应该可以运行,具体取决于您拥有的Visual Studio版本。< / p>
您还可以通过简单地创建新的sql文件验证是否已使用Visual Studio安装了localdb
,并转到文件顶部标题上的连接图标,默认情况下列出了您可以连接的所有服务器,包括{ {1}}如果已安装。
除了上面提到的查找localdb的方法之外,您还可以使用服务器计算机上的localdb
或MS windows power shell
甚至windows command processor CMD
并运行这些命令{{ 1}}和NuGet package manager console
将显示localdb名称(如果已安装)并且已在您的计算机上安装并运行MSSQL服务器版本。
答案 2 :(得分:14)
如果您不确定是否安装了本地数据库,或者不确定应该使用哪个数据库名称来连接它 - 请尝试运行'sqllocaldb info'命令 - 它将显示现有的localdb数据库。
现在,据我所知,本地数据库应该与Visual Studio 2015一起安装。但可能它不是必需的功能,如果出现问题或由于某种原因无法安装 - Visual Studio安装仍在继续(请注意,这只是我的猜测)。因此,为了安全起见,不要依赖它将始终与VS一起安装。
答案 3 :(得分:8)
选择您的数据库并准备就绪。
答案 4 :(得分:4)
我尝试只安装在我的VS 2015安装中遗漏的LocalDB。 遵循以下URL&amp;有选择地下载LocalDB(2012)安装程序,其大小只有33mb :)
https://www.microsoft.com/en-us/download/details.aspx?id=29062
如果您正在寻找适用于Visual Studio 2015集成的SQL Server数据工具,请从以下位置下载:
答案 5 :(得分:1)
在命令提示符下键入sqllocaldb start
使用<add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
答案 6 :(得分:0)
Template['messenger'].onCreated(function(){
$(function(){
Template['messenger'].methods.scrollOnNewMessages().start();
})
});
Template['messenger'].methods = {
scrollOnNewMessages : function () {
return {
oldCount : 0,
start : function () {
this.oldCount = Messages.find().count();
setInterval(this.funcToRepeat, 400);
},
funcToRepeat : function () {
var newCount = Messages.find().count();
var updated = this.oldCount !== newCount;
if(updated){
this.oldCount = newCount;
Template['messenger'].methods.scrollDown();
}
}
}
},
scrollDown: function () {
var height = $(".messageEntry").outerHeight() + 3;
var scrollLength = $('.messageEntry').length * height - $("#messageFeed").height();
$('#messageFeed').animate({scrollTop:scrollLength}, 400, 'swing');
},
}
我注意到您在上面提到的路径中有localDB并且版本为v11.0。 所以我在Add Connection对话框中输入了(LocalDB \ V11.0),它对我有用。
答案 7 :(得分:0)
如果您不知道您的 localdb ServerName,另一种解决方案(至少对于 VS2019):
工具 => SQL Server => 新查询
并在弹出窗口中选择本地,然后您应该可以找到本地数据库的服务器名称(以及更多)