Подключение к базе данных

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

Для создания подключения к источнику данных в ADO.NET существует специальный объект Connection. В зависимости от выбранного источника данных этот объект может
называться по-разному. Для создания подключения к базам данных MS SQL Server следует использовать объект SqlConnection, который находится в пространстве имен System.Data.SqlClient

Пространство имен System.Data.SqlClient является поставщиком данных .NET FrameWork для источников данных MS SQL Server

Для работы с объектом SqlConnection ему нужно предоставить строку соединения, которая указывает каким образом нужно подключиться к источнику данных. Строка соединения-строка, состоящая из пар имя — значение, содержащая сведения об инициализации, передаваемые в виде параметра от приложения к источнику данных. Синтаксис строки соединения зависит от выбранного источника данных.

Строка подключения:

Формат строки соединения является списком разделенных точкой с запятой пар «параметр -значение». Знак равенства (=) соединяет каждый параметр с его значением.

Основные параметры строки подключения к MS SQL Server БД:

  • Data Source – указывает имя экземпляра SQL Server, к которому нужно подключиться
  • Initial Catalog – параметр, указывающий на имя базы данных на сервере, к которой нужно подключиться
  • Integrated Security – позволяет использовать для подключения к серверу данные учетной записи Windows или имя входа SQL Server.
  • User Id — позволяет указать имя входа SQL Server для подключения к серверу
  • Password — пароль имени входа SQL Server

Варианты подключения:

Вышеприведенных примерах подключения можно прочитать следующим образом:
Следую инструкциям строки подключения следует найти на локальном компьютере экземпляр SQL Server с именем SQLEXPRESS, поискать каталог MyDB и попытаться получить доступ к источнику данных через доверительное подключение, используя для этого вашу учетную запись Microsoft Windows

После создания строки подключения можно создавать экземпляр SqlConnection.

Так же для создания объекта SqlConnection можно пользоваться конструктором без параметров. В этом случае строку подключения для объекта SqlConnection можно будет задать с помощью свойства ConnectionString.

Открытие и закрытие соединения

Для открытия соединения с сервером у объекта SqlConnection есть метод Open(), а для закрытия – метод Close();

Создавать экземпляр SqlConnection целесообразно в блоке using. При выходе из блока, using на экземпляре созданного SqlConnection будет вызван метод Dispose, который автоматически закроет соединение с источником данных.

Важно! При повторном открытии незакрытого соединения будет сгенерированна исключительная ситуация.

Объект SqlConnectionStringBuilder

Объект SqlConnectionStringBuilder Обеспечивает удобный способ создания и управления содержимым строк подключения. Построитель строк подключения предоставляет строго типизированные свойства, соответствующие известным парам ключ/значение, которые разрешены SQL Server, кроме этого SqlConnectionStringBuilder выполняет проверки на наличие недопустимых пар ключ/значение.

Безопасность строк подключения

Не используйте конкатенацию строк для при создании приложений, в которых пользователю предоставляется возможность изменять параметры строки подключения.
Для этих целей следует использовать объект SqlConnectionStringBuilder, в противном случае пользователь сможет изменить структуру строки подключение, что приведет к неправильной работе приложения или же нарушения безопасности приложения.

Пример

 

Пул соединений

Соединение с сервером базы данных обычно состоит из нескольких длительных шагов. На практике большинство приложений использует только одно или несколько различных конфигураций соединений. Это означает, что во время выполнения приложения многие идентичные соединения будут повторно открываться и закрываться. Чтобы сократить стоимость открытия соединения в ADO.NET, используется технология оптимизации, называемая connection pooling.

Пул соединений снижает количество открытий новых соединений. Пул управляет соединениями с помощью поддержания набора активных соединений для каждой конфигурации данного соединения. Каждый раз, когда пользователь вызывает метод Open в соединении, организатор пулов ищет в пуле доступное соединение. Если соединение пула доступно, вместо открытия нового соединения он возвращает его участнику.

Важно! В пул могут помещаться только соединения с одинаковой конфигурацией. ADO.NET поддерживает несколько пулов одновременно, по одному для каждой конфигурации.

 

Использование файлов конфигурации

Использование файлов конфигурации для хранения строк подключения позволяет изолировать информацию о подключении от остальной части приложения.

Пример шифрования конфигурационного файла:

Пример подключения используя событие и блок using, который позволяет не заботиться о физическом соединении с источником данных.

 

Пример подключения к базе данных Microsoft Access .mdb

Пример подключения к базе данных Microsoft Access .mdb с паролем

Пример подключения к базе данных Microsoft Access .accdb


Пример подключения к базе данных Microsoft Excel .xls

Обновлено: 03.01.2021 — 23:00

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.