MS SQL Server в .NET 6
MS SQL Server — одна из наиболее популярных систем управления базами данных, а при работе с фреймворком .NET, возможно, наиболее часто выбираемая СУБД. И в этой части руководства рассмотрим подключение к MS SQL Server.
Строка подключения для MS SQL Server
Для работы с MS SQL Server естественно нам потребуется MS SQL Server. Можно выбрать как полноценный MS SQL Server (в весиях Enterprise, Developer), так и MS SQL Server Express.
Про установку MS SQL Server в выпусках Developer или Express можно почитать в статье Установка MS SQL Server 2019
Также можно использовать специально предназначенный для целей разработки и тестирования легковесный движок MS SQL Server Express LocalDB, про установку которого можно почитать в статье Установка SQL Server Express LocalDB.
Вначале необходимо определить строку подключения, которая содержит набор параметров сервера MS SQL Server. Строка подключения представляет набор параметров в виде пар ключ=значение , которые отделяются друг от друга точкой с запятой.
Прежде всего, определение строки подключения зависит от типа подключения: либо мы подлючаемся по логину и паролю, либо мы используем доверенное подключение (trusted connection), где не требуются логин и пароль (например, при подключении к локальному серверу SQL Server).
Если подключение производится по логину и паролю, то общий вид строки подключения выглядит следующим образом:
Server=адрес_сервера;Database=имя_базы_данных;User >В данном случае строка подключения состоит из четырех параметров:
- Server : указывает на название сервера
- Database : указывает на название базы данных на сервере
- User Id : логин
- Password : пароль
Если мы используем так называемое доверенное подключение (trusted connection) и применяем аутентификацию Windwows, например, при подключении к локальному серверу, который запущен на том же компьютере, то строка подключения в общем виде выглядит следующим образом:
Server=адрес_сервера;Database=имя_базы_данных;Trusted_Connection=True;
Вместо параметров User Id и Password , здесь применяется параметр Trusted_Connection=True . Значение True указывает, что будет применяться аутентификация на основе учетных записей Windows.
Список основных параметров строки подключения, которые могут использоваться:
- Application Name : название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
- AttachDBFileName : хранит полный путь к прикрепляемой базе данных
- Connect Timeout : временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15. В качестве альтернативного названия параметра может использоваться Connection Timeout
- Server : название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «./SQLEXPRESS», «localhost», либо сетевой адрес. В качестве альтернативного названия параметра можно использовать Data Source , Address , Addr и NetworkAddress
- Encrypt : устанавливает шифрование SSL при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
- Database : хранит имя базы данных В качестве альтернативного названия параметра можно использовать Initial Catalog
- Trusted_Connection : задает режим аутентификации. Может принимать значения true , false , yes , no и sspi . По умолчанию значение false Если значение true , то для аутентификации будет использоваться текущая учетная запись Windows. Подходит для подключения к локальному серверу. В качестве альтернативного названия параметра может использоваться Integrated Security
- Packet Size : размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
- Persist Security Info : указывает, должна ли конфиденциальная информация передаваться обратно при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
- Pooling : если значение равно true , любое новое подключение при его закрытии добавляется в пул подключений. В следующий раз при создании такого же подключения (которое имеет ту же самую строку подключения) оно будет извлекаться из пула. Может принимать значения true , false , yes и no . По умолчанию значение true
- Workstation ID : указывает на рабочую станцию — имя локального компьютера, на котором запущен SQL Server
- Password : пароль пользователя
- User ID : логин пользователя
В данном случае мы будем использовать к локальному серверу. Если мы подключаемся к полноценному серверу MS SQL Server (например, версия Developer Edition), то в качестве адреса сервера, как правило, выступает localhost :
string connectionString = "Server=localhost;Database=master;Trusted_Connection=True;"; // альтернатива // string connectionString = "Server=.;Database=master;Trusted_Connection=True;";
Если установлен MS SQL Server Express , то адрес сервера — «.\SQLEXPRESS»
string connectionString = "Server=.\SQLEXPRESS;Database=master;Trusted_Connection=True;";
Для подключения к localdb применяется адрес (localdb)\mssqllocaldb :
string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True"