2009-06-04 8 views
1

Je sais qu'avec certains pools de connexion, vous pouvez spécifier une requête de test que le gestionnaire de pool peut utiliser pour valider une connexion.asp.net connection pooling: tester et valider automatiquement les connexions?

Y at-il quelque chose de similaire à celui de asp.net? J'ai un problème avec un pare-feu entre l'application Web et la base de données et la fermeture des connexions inactives - le résultat est que l'utilisateur reçoit une erreur "ORA-03135: connexion perdue contact". Recharger la page est très bien, mais je voudrais supprimer complètement cette erreur.

+0

Même problème qu'ici: http://forums.oracle.com/forums/thread.jspa?messageID=1683822�? – tuinstoel

+0

On dirait ça. – chris

+0

Un bug spécifique à Oracle provient de ce que je peux rassembler. Je suis surpris qu'ils n'aient pas le moyen de battre le cœur de la connexion. Je pense qu'un travail autour serait d'écrire une application de battement de coeur qui gère les pools de connexion pour vous (ils sont vraiment faciles à mettre en œuvre). Certainement un hack, mais cela résoudrait votre problème. –

Répondre

0

Si le dernier pilote Oracle n'a pas résolu le problème, la solution moche consiste à créer un service Windows qui pique la base de données toutes les X secondes. Je ne suis pas sûr de ce que X serait, je devine toutes les 30 secondes.

+0

Cela n'aiderait pas, j'en ai peur. Il y a un pool de connexions à la base de données, et dans la mesure où le gestionnaire de pool .net sait que tout va bien. Sauf le long arrive le pare-feu, et dit à une connexion "Vous ne travaillez pas, je vais juste vous tuer". Pendant ce temps, le gestionnaire de la piscine passe la connexion à la page suivante qui le demande, sauf que la connexion est morte. Pinging the db n'aidera pas, parce que M. Firewall va toujours tuer cette connexion inactive. J'ai vu d'autres implémentations de pools qui testent périodiquement les connexions, ou ont un param pour les recycler - c'est ce que je voudrais. – chris