Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изчистите пула за връзки ODP.NET при грешки при свързване?

Ако можете да използвате odac (odp) 11g , сте настроили Validate Connection за вашия пул. Той може да потвърди връзката, преди да я използвате.

Проверка на връзката атрибут валидира връзките, излизащи от пула. Този атрибут трябва да се използва само когато е абсолютно необходимо, тъй като води до връщане към базата данни за валидиране на всяка връзка непосредствено преди да бъде предоставена на приложението. Ако невалидните връзки са необичайни, разработчиците могат да създадат свой собствен манипулатор на събития, за да извличат и валидират нова връзка, вместо да използват атрибута Validate Connection. Това обикновено осигурява по-добра производителност.

Ако не е достатъчно добър - можете да опитате този документ от oracle.

Управление на пула за връзки

Управлението на пула за връзки ODP.NET осигурява изричен контрол на пула на връзки към ODP.NET приложения. Приложенията могат изрично да изчистват връзките в пул от връзки.

Използвайки управление на пула от връзки, приложенията могат да правят следното:

Забележка:Тези API не се поддържат в .NET съхранена процедура. Изчистете връзките от пулове за връзки с помощта на ClearPool метод.

Изчистете връзките във всички пулове за връзки в домейна на приложение, като използвате ClearAllPools метод.

Когато връзките се изчистят от пул, ODP.NET повторно попълва пула с нови връзки, които имат поне броя на връзките, зададен от Минимален размер на пула в низа за връзка. Новите връзки не означават непременно, че пулът ще има валидни връзки. Например, ако сървърът на базата данни не работи, когато се извика ClearPool или ClearAllPools, ODP.NET създава нови връзки, но тези връзки все още са невалидни, защото не могат да се свържат с базата данни, дори ако базата данни се появи по-късно.

Препоръчва се ClearPool и ClearAllPools да не се извикват, докато приложението може да създаде валидни връзки обратно към базата данни..NET разработчиците могат да разработят код, който непрекъснато проверява дали може да бъде създадена валидна връзка с базата данни и извиква ClearPool илиClearAllPools, след като това е вярно.

Освен това може би тази публикация ще ви помогне.

Актуализиране :Както посочи @MPelletier, за Oracle 12 връзката е различна.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Идентифицирайте последователни диапазони от стойности

  2. Клъстери за броене на SQL Oracle

  3. Как да изброите всички изгледи в базата данни на Oracle

  4. как да използвате XMLImporter и FndXdfCmp в Oracle EBS

  5. Разлика в обработката на интервалите между Oracle и SQL Server