Подтвердить что ты не робот

Как добавить LocalDB в Visual Studio 2015 Community SQL Server Object Explorer?

проблема

Я не понимаю, как заставить LocalDB отображаться в обозревателе объектов SQL Server. На некоторых виртуальных машинах он отображается автоматически, на других - нет. Тем не менее, после поисков в течение нескольких часов, я не понимаю.

Текущая ситуация

  1. У меня чистая ВМ
  2. Я установил Visual Studio 2015 Community (все настройки по умолчанию)
  3. Я позволил запустить консольное приложение (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 ничего не отображается.

Connecting to LocalDB

Что я думаю знать

  • 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 и нужно ли устанавливать его отдельно?
4b9b3361

Ответ 1

У меня была та же проблема, что и сегодня, при установке обновления VS2015 Community Edition Update 1.

Я исправил проблему, просто добавив " Инструменты SQL Server Data Tools" из установщика установки VS2015... Когда я запустил программу установки, первый раз, когда я выбрал "Пользовательский" тип установки вместо "По умолчанию". Я хотел посмотреть, какие параметры установки доступны, но не выберите ничего, отличное от того, что уже было отмечено. Мое предположение заключалось в том, что все, что уже было отмечено, было по умолчанию установкой по умолчанию. Но его нет.

Ответ 2

Чтобы проверить, установлен LocalDb или нет:

  • запустите cmd и введите "sqllocaldb i", это должно дать вам установленную версию, если она найдена.
  • Запустите 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 результатов выберите sqlLocalDb.msi и щелкните по нему.
  • Настройка SQL начнет устанавливать LocalDB

После завершения установки перезапустите SSMS и попробуйте подключиться к одному из экземпляров (localdb)\V11.0 или (localdb)\MSSQLLocalDB, один из них должен работать в зависимости от используемой версии Visual Studio.

Вы также можете проверить, что localdb установлен с помощью Visual Studio, просто создав новый файл sql и localdb к значку подключения в верхнем заголовке файла, который по умолчанию перечисляет все серверы, к которым вы можете подключиться, включая localdb если он установлен.

В дополнение к вышеупомянутым способам определения, установлен ли localdb, вы также можете использовать windows command processor CMD MS windows power shell или windows command processor CMD или даже NuGet package manager console на своей серверной машине и запустить эти команды sqllocaldb i и sqllocaldb v, которые покажут имя localdb, если оно установлено, и версия сервера MSSQL, установленная и работающая на вашем компьютере.

Ответ 3

Если вы не уверены, установлен ли локальный db или не знаете, какое имя базы данных вы должны использовать для подключения к нему, попробуйте запустить команду sqllocaldb info - он покажет вам существующие базы данных localdb.

Теперь, насколько мне известно, локальный db должен быть установлен вместе с Visual Studio 2015. Но, вероятно, это не обязательная функция, и если что-то пойдет не так или не может быть установлено по какой-либо причине - установка Visual Studio продолжается до сих пор ( обратите внимание, что это только моя догадка). Поэтому, чтобы быть в безопасности, не полагайтесь на нее, она всегда будет установлена ​​вместе с VS.

Ответ 4

  • Поиск "sqlLocalDb" из меню "Пуск",
  • Нажмите на команду запуска,
  • Вернитесь к инструментам VS 2015/подключитесь к базе данных,
  • выберите сервер MSSQL,
  • введите (localdb)\MSSQLLocalDB как имя сервера

Выберите свою базу данных и готов к работе.

Ответ 5

Я попытался установить только 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, загрузите его с:

https://msdn.microsoft.com/en-us/mt186501

Ответ 6

  1. Найдите sqllocaldb или localDB в меню "Пуск" Windows и щелкните правой кнопкой мыши на расположении открытого файла.
  2. Откройте командную строку в расположении файла, которое вы нашли в поиске
  3. В командной строке введите sqllocaldb start

  4. Используйте <add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient"/>

Ответ 7

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) в диалог Add Connection, и это сработало для меня.