Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment effacer le pool de connexion ODP.NET en cas d'erreurs de connexion ?

Si vous pouvez utiliser odac (odp) 11g , vous avez défini Valider la connexion pour votre pool. Il peut valider la connexion avant de l'utiliser.

Le bouton Valider la connexion L'attribut valide les connexions sortant du pool. Cet attribut ne doit être utilisé qu'en cas d'absolue nécessité, car il provoque un aller-retour vers la base de données pour valider chaque connexion immédiatement avant qu'elle ne soit fournie à l'application. Si les connexions non valides sont rares, les développeurs peuvent créer leur propre gestionnaire d'événements pour récupérer et valider une nouvelle connexion, plutôt que d'utiliser l'attribut Validate Connection. Cela offre généralement de meilleures performances.

Si cela ne suffit pas, vous pouvez essayer ce document d'Oracle.

Gestion du pool de connexions

La gestion du pool de connexions ODP.NET fournit un contrôle explicite du pool de connexions aux applications ODP.NET. Les applications peuvent explicitement effacer les connexions dans un pool de connexions.

Grâce à la gestion du pool de connexions, les applications peuvent effectuer les actions suivantes :

Remarque :Ces API ne sont pas prises en charge dans une procédure stockée .NET. Effacer les connexions des pools de connexions à l'aide de ClearPool méthode.

Effacer les connexions dans tous les pools de connexions d'un domaine d'application, à l'aide de ClearAllPools méthode.

Lorsque les connexions sont effacées d'un pool, ODP.NET remplit à nouveau le pool avec de nouvelles connexions qui ont au moins le nombre de connexions défini par Min Pool Size dans la chaîne de connexion. De nouvelles connexions ne signifient pas nécessairement que le pool aura des connexions valides. Par exemple, si le serveur de base de données est arrêté lorsque ClearPool ou ClearAllPools est appelé, ODP.NET crée de nouvelles connexions, mais ces connexions sont toujours invalides car elles ne peuvent pas se connecter à la base de données, même si la base de données s'ouvre ultérieurement.

Il est recommandé que ClearPool et ClearAllPools ne soient pas appelés jusqu'à ce que l'application puisse créer des connexions valides à la base de données. P>

De plus, peut-être que ce message vous aidera.

Mettre à jour :Comme souligné par @MPelletier, pour oracle 12 le lien est différent.