SQL
Как подключить базу данных SQL к Visual Studio
Подключить базу данных SQL к Visual Studio можно двумя путями: через окно Server Explorer для просмотра таблиц и через строку подключения в коде проекта. Если вы просто хотите открыть таблицы и проверить данные, хватит Server Explorer. Если приложение должно читать и записывать данные, нужна строка подключения и код, который выполняет запросы
Сначала убедитесь, что сама база доступна вне Visual Studio. Откройте SSMS, подключитесь к серверу и выполните простой запрос. Если SSMS не подключается, Visual Studio тоже не спасет ситуацию: проблема в сервере, имени экземпляра, службе SQL Server, порте или правах
Что нужно знать перед подключением
Для SQL Server обычно нужны:
- имя сервера, например
localhost,.\SQLEXPRESSилиDESKTOP-01\SQLEXPRESS - имя базы данных
- тип входа: Windows Authentication или SQL Server Authentication
- пользователь и пароль, если используется SQL-аутентификация
- понимание, где будет храниться строка подключения
Для учебного проекта на своем компьютере проще начать с Windows Authentication. Для приложения, которое будет работать у других пользователей или на сервере, параметры подключения нужно продумывать отдельно
Подключение через Server Explorer
Откройте Visual Studio и перейдите в View -> Server Explorer. Дальше:
- Нажмите правой кнопкой на Data Connections
- Выберите Add Connection
- В качестве источника выберите Microsoft SQL Server
- Укажите имя сервера
- Выберите тип аутентификации
- Выберите базу из списка
- Нажмите Test Connection
Если проверка прошла, база появится в Server Explorer. Можно раскрыть Tables, открыть таблицу и посмотреть данные. Это удобно для проверки, но не заменяет нормальную работу с базой в коде
Строка подключения для проекта .NET
Для простого подключения к локальному SQL Server Express строка может выглядеть так:
Server=.\SQLEXPRESS;Database=ShopDemo;Trusted_Connection=True;TrustServerCertificate=True;
Если используется логин SQL Server:
Server=localhost\SQLEXPRESS;Database=ShopDemo;User Id=app_user;Password=strong_password;TrustServerCertificate=True;
Не храните реальные пароли прямо в коде, особенно если проект попадет в репозиторий. Для учебного примера это допустимо на локальной машине, но для реального проекта используйте секреты, переменные окружения или защищенную конфигурацию
Проверочный запрос в C#
Минимальный пример с Microsoft.Data.SqlClient:
using Microsoft.Data.SqlClient;
var connectionString = "Server=.\\SQLEXPRESS;Database=ShopDemo;Trusted_Connection=True;TrustServerCertificate=True;";
using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
using var command = new SqlCommand("SELECT COUNT(*) FROM products", connection);
var count = (int)await command.ExecuteScalarAsync();
Console.WriteLine($"Товаров в базе: {count}");
Если проект не видит Microsoft.Data.SqlClient, установите пакет через NuGet. В новых проектах .NET лучше использовать именно Microsoft.Data.SqlClient, а не старые примеры из случайных инструкций
Как проверить базу перед подключением
В SSMS выполните:
USE ShopDemo;
GO
SELECT TOP 5 *
FROM products;
Если таблицы products нет, создайте тестовую:
CREATE TABLE products (
id int IDENTITY(1,1) PRIMARY KEY,
name nvarchar(100) NOT NULL,
price decimal(10,2) NOT NULL
);
INSERT INTO products (name, price)
VALUES (N'Книга по SQL', 990.00);
Только после этого имеет смысл запускать код в Visual Studio. Так вы отделите ошибку подключения от ошибки в самой базе
Мини-практика
Создайте консольный проект, добавьте пакет Microsoft.Data.SqlClient, проверьте строку подключения и выведите количество строк из таблицы. Затем поменяйте имя базы в строке подключения на неправильное и посмотрите, какую ошибку вернет приложение. Это полезнее, чем просто получить успешный запуск: вы начнете узнавать типичные сообщения об ошибках
Частые ошибки
- Указывают
localhost, хотя сервер установлен как.\SQLEXPRESS - Не запускают службу SQL Server
- Пытаются подключиться к базе, которой нет на сервере
- Используют SQL-логин, но SQL-аутентификация отключена
- Хранят пароль прямо в коде рабочего проекта
- Не ставят NuGet-пакет для клиента SQL Server
Что почитать дальше по SQL
Если нужен общий маршрут по теме, откройте рубрику SQL. Для соседних задач пригодятся эти разборы:
- Как создать базу данных в SQL Server Management Studio
- CSV в SQL: как загрузить файл в базу данных
- Как базу данных Access сделать SQL: перенос в SQL Server без иллюзий
- Как очистить базу данных SQL: безопасные варианты