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

Database connection

А Подключение к базе данных это объект в Информатика это позволяет клиент программное обеспечение для разговора сервер базы данных программное обеспечение, будь то на той же машине или нет. А связь требуется отправить команды и получать ответы, обычно в виде набора результатов.

Связи - ключевое понятие в ориентированный на данные программирование. Поскольку для подключения некоторых СУБД требуется значительное время, пул соединений был изобретен для повышения производительности. Никакая команда не может быть выполнена в отношении базы данных без «открытого и доступного» подключения к ней.

Связи строятся путем предоставления базового Водитель или же провайдер с строка подключения, который является способом решения конкретной база данных или же сервер и экземпляр, а также учетные данные для аутентификации пользователя (например, Сервер =sql_box;База данных =Общий;ID пользователя =uid;Pwd =пароль;). После того, как соединение было построено, его можно открывать и закрывать по желанию, а также свойства (такие как время ожидания команды или сделка, если он существует) может быть установлен. Строка подключения состоит из набора пар ключ / значение в зависимости от используемого интерфейса доступа к данным и поставщика данных.

Многие базы данных (например, PostgreSQL) позволяют выполнять только одну операцию за раз для каждого соединения. Если запрос данных (a SQL Выбирать оператор) отправляется в базу данных, и возвращается набор результатов, соединение открыто, но не доступно для других операций, пока клиент не закончит использование набора результатов. Другие базы данных, например SQL Server 2005 (и более поздние версии), не накладывайте этого ограничения. Однако базы данных, которые обеспечивают несколько операций для одного соединения, обычно несут гораздо больше накладных расходов, чем те, которые разрешают только одну задачу операции за раз.

Объединение

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

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

Объект соединения, полученный из пула соединений, часто является оболочкой вокруг фактического соединения с базой данных. Оболочка понимает свои отношения с пулом и скрывает детали пула от приложения. Например, объект-оболочка может реализовать метод «закрытия», который может вызываться точно так же, как метод «закрыть» при подключении к базе данных. В отличие от метода соединения с базой данных, метод оболочки может не закрывать соединение с базой данных, а вместо этого возвращать его в пул. Приложению не нужно знать о пуле соединений, когда оно вызывает методы объекта-оболочки.

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

С другой стороны, в архитектуре клиент / сервер обычно используется постоянное соединение, чтобы можно было управлять состоянием сервера. Это «состояние» включает курсоры на стороне сервера, временные продукты, функциональные настройки, зависящие от соединения, и так далее.

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

Смотрите также

Рекомендации

  • Интерфейс IDbConnection в MSDN
  • Технический документ по управлению и мониторингу подключений .NET.
  • Технический документ "Как быть на связи и оставаться на связи".
  • Автостопом по Visual Studio и SQL Server (7-е издание) Аддисон Уэсли, Уильям Вон, ISBN 978-0321243621

внешняя ссылка