Пул з’єднань – розробка мобільних додатків, веб-сервіси, архітектура SOA – Технологія
Перейти до вмісту

Пул з’єднань – розробка мобільних додатків, веб-сервіси, архітектура SOA

Оголошення

Що таке об’єднання з’єднань?

Об’єднання з’єднань дозволяє повторно використовувати існуючі з’єднання, щоб зменшити накладні витрати на постійне створення та видалення з’єднань з однаковою конфігурацією. Іншими словами, відкриваючи та закриваючи підключення, які використовують той самий рядок підключення та облікові дані, можна повторно використовувати доступне підключення в пулі. Типові програми використовують ті самі об’єкти підключення для постійного отримання та оновлення даних із бази даних. Об’єднання з’єднань забезпечує набагато вищий рівень продуктивності, усуваючи необхідність постійного створення та розриву з’єднань бази даних. Пули підключень розділені процесом, доменом програми та рядком підключення. Для рядків підключення, які використовують інтегровану безпеку, створюється окремий пул для кожного унікального ідентифікатора.

Керування параметрами пулу підключень

Пул підключень увімкнено за замовчуванням під час створення об’єктів підключення ADO.NET. Ви можете керувати поведінкою пулу з’єднань (або взагалі вимкнути пул з’єднань), установивши певні ключові слова рядка з’єднання для пулу з’єднань. Наприклад, щоб спеціально вимкнути пул з’єднань, установіть Pooling=False у рядку з’єднання. У таблиці 5-7 наведено список ключових слів рядка з’єднання, які можна використовувати для керування взаємодією конкретного з’єднання з пулом з’єднань. Не всі ключові слова доступні для всіх постачальників. Наприклад, постачальник OLE DB відстежує об’єднання з’єднань (також відоме як об’єднання ресурсів або сеанси) на основі значення, встановленого для ключового слова OLE DB Services у рядку підключення.

Рядок підключення пулу з’єднань таблиціОкрім властивостей рядка з’єднання, які керують поведінкою пулу з’єднань, для об’єктів підключення також доступні методи, які також можуть впливати на об’єднання з’єднань. Доступні методи зазвичай використовуються, коли ви закриваєте з’єднання у своїй програмі та знаєте, що вони більше не використовуватимуться. Це очищає пул з’єднань, відкидаючи з’єднання замість повернення їх до пулу, коли вони закриті. Будь-які підключення, які вже є в пулі та відкриті, будуть відкинуті під час наступного закриття. У таблиці 5-8 наведено методи, доступні для взаємодії з пулами підключень.

Налаштування підключень для використання пулу підключень

За замовчуванням усі постачальники даних .NET Framework, доступні в ADO.NET, увімкнули пул з’єднань, але рівень контролю, доступний для роботи з пулами з’єднань, залежить від постачальника, який використовується.

Налаштування пулу підключень із підключеннями SQL Server

За замовчуванням об’єкт SqlConnection автоматично використовує пул з’єднань. Щоразу, коли ви викликаєте Sqlconnection.Open з унікальним рядком підключення, створюється новий пул. Керуйте поведінкою пулу з’єднань, установивши ключові слова пулу з’єднань у рядку з’єднання, як описано раніше в Таблиці 5-7. Наприклад, розглянемо підключення, де потрібно встановити мінімальний розмір пулу. Призначаючи значення більше нуля ключовому слову Mîn Pool Size, ви гарантуєте, що пул не буде знищено, доки програма не завершить роботу. Щоб установити мінімальний розмір пулу на 5, використовуйте рядок підключення, подібний до такого:

Джерело даних=SqlServerName;Початковий каталог=Назва бази даних; Вбудована безпека=True;Мінімальний розмір пулу=5

Мінімальний розмір пулу за замовчуванням дорівнює 0, що означає, що кожне з’єднання потрібно створити та ініціалізувати відповідно до запиту, збільшивши мінімальний розмір пулу в рядку з’єднання, зазначену кількість з’єднань буде створено та готово до використання, що може скоротити час потрібно, щоб встановити з'єднання на цих початкових з'єднаннях.

Налаштування пулу підключень за допомогою Oracle Connections

З’єднання за допомогою постачальника даних .NET Framework для Oracle автоматично використовують пул з’єднань за замовчуванням. Ви можете контролювати, як з’єднання використовує об’єднання, встановивши ключові слова рядка з’єднання. Таблиця 5-10 докладно описує ключові слова рядка з’єднання, доступні для зміни діяльності пулу з’єднань.

Обробка помилок підключення

Коли SQL Server повертає попередження або помилку, постачальник даних .NET Framework для SQL Server створює та викидає виняткову ситуацію SqlException, яку можна переловити у своїй програмі, щоб вирішити проблему. Коли виникає виняткова ситуація SqlException, перевірте властивість SqlException.Errors, щоб отримати доступ до колекції помилок, які повертає сервер SQL. Властивість SqlException.Errors — це клас SqlErrorCollection (набір класів SqlError), який завжди містить принаймні один об’єкт SqlError.

ДОДАТКОВА ІНФОРМАЦІЯ Помилки SQL Server

SqlConnection залишатиметься відкритим для повідомлень із рівнем серйозності 19 або менше, але зазвичай автоматично закриватиметься, коли рівень серйозності становитиме 20 або вище.

Резюме

  • Пул підключень увімкнено за замовчуванням.
  • Параметри пулу підключень визначаються в рядку підключення, за винятком постачальника ODBC, який використовує діалогове вікно адміністратора джерела даних ODBC у Windows.
  • Об’єкт SqlException створюється, коли на сервері SQL виявляється помилка.
  • Кожен екземпляр виняткової ситуації SqlException містить принаймні одне попередження SqlError, яке містить фактичну інформацію про помилку сервера.
  • Автентифікація Windows (також звана інтегрованою безпекою) — це рекомендований метод безпечного підключення до даних.
  • Зберігайте рядки підключення, які містять конфіденційну інформацію, у файлі конфігурації програми та шифруйте всі налаштування, які містять конфіденційну інформацію.