Как подключиться к LocalDB в Visual Studio Server Explorer?

Я не могу поверить, что не смог найти рабочего решения после часа поиска. Я следую этой статье в Entity Framework 6.0, которая дает простой проход по коду First. Я создал проект и установил последний EF Nuget пакет для компиляции проекта. Я также подтвердил, что у меня установлен Microsoft SQL Server 2012 Express LocalDB, который поставляется с Visual Studio 2013. У меня нет других экземпляров SQL, установленных на моем локальном компьютере. Программа запускается и записи добавляются в базу данных и выводятся в консоли. Но когда в статье говорится "проверьте ваш localdb", он не говорит, как это сделать! Я не вижу никаких файлов .mdf или .ldf, созданных в папке проекта. Я пробовал каждый способ подключения Visual Studio Server Explorer к LocalDB. Мастер не может найти (localdb) или не может найти какого-либо провайдера в Server Explorer для принятия строки подключения, например (localdb)\v11.0;Integrated Security=true;. Я видел, что это задало несколько мест в StackOverflow, но ответ не работает или не помечен как ответ. Пожалуйста, помогите, это не должно быть разочарование!

Каковы шаги для подключения Visual Studio Server Explorer к LocalDB?

Ответ 1

ОК, отвечая на мой собственный вопрос.

Шаги для подключения LocalDB к Visual Studio Server Explorer

  • Откройте командную строку
  • Выполнить SqlLocalDB.exe start v11.0
  • Выполнить SqlLocalDB.exe info v11.0
  • Скопируйте имя имя экземпляра, которое начинается с np: \...
  • В Visual Studio выберите TOOLS > Connect to Database...
  • Для имени сервера введите (localdb)\v11.0. Если это не сработало, используйте имя Имя экземпляра, которое вы скопировали ранее. Вы также можете использовать это для подключения к SQL Management Studio.
  • Выберите базу данных в следующем раскрывающемся списке
  • Нажмите "ОК"

enter image description here

Ответ 2

В Visual Studio 2012 мне нужно было ввести:

(localdb)\v11.0

Visual Studio 2015 и Visual Studio 2017 изменено на:

(localdb)\MSSQLLocalDB

в качестве имени сервера при добавлении источника Microsoft SQL Server Data в:

View/Server Explorer/(Right click) Data Connections/Add Connection

а затем имена базы данных были заполнены. Мне не нужно было делать все остальные шаги в принятом ответе, хотя было бы неплохо, если бы имя сервера было автоматически добавлено в поле со списком имен сервера.

Вы также можете просмотреть имена базы данных LocalDB, доступные на вашем компьютере, используя:

View/SQL Server Object Explorer.

Ответ 3

Выберите в:

  • Источник данных: Microsoft SQL Server (SqlClient)
  • Имя сервера: (localdb)\MSSQLLocalDB
  • Войдите в систему на сервере: Use Windows Authentication

Нажмите кнопку "Обновить", чтобы получить имя базы данных:)

Screenshot

Ответ 4

Это сработало для меня.

  • Откройте командную строку
  • Запустить "SqlLocalDB.exe start"
  • Запустился системный ответ "LocalDB instance" mssqllocaldb ".
  • В VS, View/Server Explorer/(щелкните правой кнопкой мыши) Соединения данных/Добавить соединение
    • Источник данных: Microsoft SQL Server (SqlClient)
    • Имя сервера: (localdb)\MSSQLLocalDB
    • Войдите в систему на сервере: используйте проверку подлинности Windows
  • Нажмите "Проверить соединение", затем "ОК".

Ответ 5

Visual Studio 2015 RC, имеет LocalDb 12, аналогичные инструкции перед, но все же не требуется знать "волшебство", прежде чем использовать его, экземпляр по умолчанию должен быть включен... Rant complete, no для решения:

cmd> sqllocaldb start

Будет отображаться

LocalDB instance "MSSQLLocalDB" started.

Ваше имя экземпляра может отличаться. В любом случае перейдите к VS и откройте проводник сервера, щелкните правой кнопкой мыши Data Connections, выберите Add, выберите SQL Server в типе имени сервера:

(localdb)\MSSQLLocalDB

Без ввода имени базы данных нажмите "Проверить соединение".

Ответ 6

Следующее работает с Visual Studio 2017 Community Edition в Windows 10 с использованием SQLServer Express 2016.

Откройте PowerShell, чтобы проверить, что он вызывается с помощью SqlLocalDB.exe info, и работает ли он с SqlLocalDB.exe info NAME. Вот как это выглядит на моей машине:

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>

Если он не запущен, вам нужно запустить его с помощью SqlLocalDB.exe start MSSQLLocalDB. Когда он запускается, вы видите Instance pipe name:, который начинается с np:\\. Скопируйте эту именованную строку. В VS2017 откройте представление Server Explorer и создайте новое соединение типа Microsoft SQL Server (SqlClient) (не обманывайте себя другими типами файлов, которые вы хотите использовать полный тип подключения) и установите Server name: как имя канала экземпляра, который вы скопирован из PowerShell.

Я также установил Connect to database в ту же базу данных, которая была в строке подключения, которая работала в моем проекте Core Core/Entity Framework Core, который был настроен с помощью dotnet ef database update.

Вы можете войти в систему и создать базу данных с помощью строки sqlcmd и именованной строки:

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

Существуют инструкции о том, как создать пользователя для вашего приложения в https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility

Ответ 7

Исправление не работает.

Точно так же, как в примере, все эти шаги предоставляют доступ только к "системным" базам данных и не позволяют выбирать существующие пользовательские базы данных, к которым вы хотите получить доступ.

Решение для доступа к локальному экземпляру Microsoft SQL Server (не Express Edition) находится на стороне SQL Server:

  • Откройте диалог "Выполнить" (WinKey + R)
  • Тип: "services.msc"
  • Выберите браузер SQL Server
  • Нажмите "Свойства"
  • Измените "отключено" на "Ручной" или "Автоматический"
  • Когда активируется сервисная кнопка "Пуск", нажмите на нее.

Готово! Теперь вы можете выбрать локальный SQL Server из списка имен серверов в свойствах подключения.

Ответ 8

Используйте Обозреватель объектов SQL Server (SSOX) Вместо

  • В меню Вид откройте Обозреватель объектов SQL Server.

one

  • Щелкните правой кнопкой мыши по таблице {YourTableName} > Дизайнер представлений

two

Ответ 9

Запустите CMD как admin.

  • из меню "cmd" - дождитесь его поиска.
  • Щелкните правой кнопкой мыши на cmd и выберите "Открыть как администратор"
  • Тип: cd C:\Program Files\Microsoft SQL Server\120\Tools\Binn
  • type: SqlLocalDB start
  • теперь введите: SqlLocalDB info
  • Показывает доступные экземпляры sql... выберите то, что вы хотите...
  • чтобы узнать больше о экземпляре Тип: SqlLocalDB info instanceName

  • Теперь из VS вы можете настроить соединение В VS, View/Server Explorer/(щелкните правой кнопкой мыши) Соединения данных/Добавить соединение Источник данных: Microsoft SQL Server (SqlClient) Имя сервера: (localdb)\MSSQLLocalDB Войдите в систему на сервере: используйте проверку подлинности Windows Нажмите "Проверить соединение", затем "ОК".

  • выполненная работа

Ответ 10

Самый быстрый способ в Visual Studio 2017 - перейти в Инструменты → SQL Server → Новый запрос. Выберите из локальных баз данных и выберите нужное имя базы данных внизу.

Альтернативный способ

Visual Studio 2017 Имя сервера:

(localdb)\MSSQLLocalDB

Добавьте новое соединение с помощью меню Сервис → Подключиться к базе данных...

Ответ 11

Я выполнил следующие шаги, но я забыл установить SQL Server 2014 LocalDB до конфигурации Visual Studio 2015.

Мои шаги следующие:

  • Установить SQL Server 2014 LocalDB;
  • Откройте Visual Studio 2015, а затем - обозреватель объектов SQL Server;
  • Найдите свой LocalDB под тегом SQL Server.

Надеюсь, что это поможет любому.

Ответ 12

Сценарий: Windows 8.1, VS2013 Ultimate, SQL Express Установлен и запущен, отключен браузер SQL Server. Это сработало для меня:

  • Сначала я включил браузер SQL Server под службы.
  • В Visual Studio: Откройте консоль диспетчера пакетов, а затем введите: Включить-Миграции; Затем введите Включить-Миграции -ContextTypeName YourContextDbName который создал папку Migrations в VS.
  • В папке "Миграции" вы найдете файл "Configuration.cs", включите автоматические миграции: AutomaticMigrationsEnabled = true;
  • Запустите приложение снова, среда создает DefaultConnection, и вы увидите новые таблицы из своего контекста. Это новое соединение указывает на localdb. Созданная строка подключения показывает: Data Source = (LocalDb)\v11.0... (больше параметров и путь к созданному файлу mdf)

Теперь вы можете создать новое соединение с   Имя сервера: (LocalDb)\v11.0 (нажмите обновление)   Подключение к базе данных: выберите новую базу данных в раскрывающемся меню.

Надеюсь, это поможет.

Ответ 13

С SQL Server 2017 и Visual Studio 2015 я использовал localhost\SQLEXPRESS

введите описание изображения здесь