проблема
Я не понимаю, как заставить LocalDB отображаться в обозревателе объектов SQL Server. На некоторых виртуальных машинах он отображается автоматически, на других - нет. Тем не менее, после поисков в течение нескольких часов, я не понимаю.
Текущая ситуация
- У меня чистая ВМ
- Я установил Visual Studio 2015 Community (все настройки по умолчанию)
- Я позволил запустить консольное приложение (Entity Framework 6, сначала код, консольное приложение), которое работало на другой виртуальной машине и автоматически создавало базу данных, которая затем отображалась в обозревателе объектов 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
Таким образом, на этой виртуальной машине база данных не создается, и в узле SQL Server Object Explorer 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
выглядел следующим образом (и он автоматически создавался таким образом, когда я устанавливал Entity Framework 6, диспетчер пакетов NuGet в Visual Studio):
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 Server было необходимо открыть определенные порты, но, как я понимаю, LocalDB запускается как отдельный процесс по требованию при запуске Visual Studio.
- Я не знаю, как отладить
SQLException
- Разве LocalDB не поставляется вместе с Visual Studio 2015 Community и нужно ли устанавливать его отдельно?