Как добавить LocalDB в Обозреватель объектов SQL Server сообщества Visual Studio 2015?
Я не понимаю, как заставить LocalDB отображаться в Обозревателе объектов SQL Server. На некоторых виртуальных машинах он появляется автоматически, на других-нет. Тем не менее, после нескольких часов поиска в гугле, я не понимаю.
текущая ситуация
- у меня есть чистая VM
- Я установил сообщество Visual Studio 2015 (все настройки по умолчанию)
- Я разрешаю запуск консольного приложения (Entity Framework 6, Code-first, console приложение), который работал на другой виртуальной машине и автоматически создал базу данных, которая затем появилась в Обозревателе объектов 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
узел.
что я думаю знать
- сообщество Visual Studio 2015 поставляется с LocalDB; поэтому все должно просто работать "из коробки", но это не так, и я не знаю, почему
- базы данных LocalDB-это всего лишь пара файлов (*.MDF и.* ldf)
- Я видел файлы, создаваемые в расположении базы данных по умолчанию в
C:Users<username>AppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesMSSQLLocalDB
; но на этой виртуальной машине нет такой папки - на
App.config
выглядел каждый раз так (и он был автоматически создан таким образом, когда я установил Entity Framework 6 Диспетчер пакетов NuGet в Visual Студия:
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 и нужно ли устанавливать его отдельно?
7 ответов
У меня была та же проблема сегодня, недавно установив обновление VS2015 Community Edition 1.
я исправил проблему, просто добавив "SQL Server Data Tools" из установщик установки VS2015... Когда я запустил установщик в первый раз я выбрал "пользовательский" тип установки вместо "по умолчанию". Я хотел посмотреть, какие параметры установки были доступны, но не выбрать ничего отличного от того, что уже было отмечено. Мое предположение было то, что уже было отмечено, было по существу установкой по умолчанию. Но это не так.
чтобы проверить, установлен ли LocalDb или нет:
- запустите SSMS (среда SQL Server Management Studio).
- попробуйте подключиться к этому экземпляру
(localdb)\V11.0
использование проверки подлинности windows.
если возникает ошибка Cannot connect to (localdb)\V11.0.
измените имя экземпляра на (localdb)\MSSQLLocalDB
и снова пытаться подключиться, если вы все еще получаете ту же ошибку.
выполните следующие действия для установки LocalDb:
- закрыть SSMS.
- закрыть VS (Visual Studio), если он работает.
- на
Start Menu
и введите в поискsqlLocalDb
. - из результатов, которые появляются выберите
sqlLocalDb.msi
и щелкните по нему. - SQL setup начнет установку LocalDB
после завершения установки повторно запустите SSMS
и попробуйте подключиться к любому из экземпляров (localdb)\V11.0
или (localdb)\MSSQLLocalDB
, один из них должен работать в зависимости от того, какая версия Visual Studio у вас есть.
вы также можете убедиться, что localdb
устанавливается с помощью Visual Studio, просто создав новый файл sql и перейдите к значку подключения в верхнем заголовке файла, в котором по умолчанию перечислены все серверы, к которым вы можете подключиться, включая localdb
если установлен.
в дополнение к вышеупомянутым способам поиска, если localdb установлен, вы также можете использовать MS windows power shell
или windows command processor CMD
или даже NuGet package manager console
на вашем сервере машины и запустить эти команды sqllocaldb i
и sqllocaldb v
это покажет вам имя localdb, если это установлена и установлена и запущена версия сервера MSSQL на вашем компьютере.
Если вы не уверены, установлена ли локальная БД или не знаете, какое имя базы данных вы должны использовать для подключения к ней - попробуйте запустить команду "sqllocaldb info" - она покажет вам существующие базы данных localdb.
теперь, насколько я знаю, локальная БД должна быть установлена вместе с Visual Studio 2015. Но, вероятно, это не обязательная функция, и если что - то пойдет не так или ее нельзя установить по какой-то причине-установка Visual Studio все еще продолжается (обратите внимание, что это только мое предположение). Так чтобы быть в безопасности, не полагайтесь на него, он всегда будет установлен вместе с VS.
- поиск "в sqllocaldb" из меню "Пуск",
- нажмите на команду Выполнить,
- вернитесь к VS 2015 tools / connect to database,
- выберите MSSQL server,
- введите (localdb)\MSSQLLocalDB в качестве имени сервера
выберите вашу базу данных и готов к работе.
Я попытался установить только LocalDB, который был пропущен в моей установке VS 2015. Ниже приведен URL и выборочно загрузите установщик LocalDB (2012), размер которого составляет всего 33 Мб :)
https://www.microsoft.com/en-us/download/details.aspx?id=29062
Если вы ищете средство SQL Server Data Tool для интеграции с Visual Studio 2015, загрузите его из :
- искать sqllocaldb или localdb с в меню Пуск windows и щелкните правой кнопкой мыши на open file location
- Откройте командную строку в местоположении файла, которое вы нашли в поиске
в командной строке введите
sqllocaldb start
использовать
<add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
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 в путь, который вы упомянули выше, и имеет версии 11.0. Поэтому я вошел (LocalDB\V11.0) в диалоге Add Connection, и это сработало для меня.