IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

connexions restent ouvertes à la BD Oracle


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut connexions restent ouvertes à la BD Oracle
    Bonjour,

    mon service s'exécute tout les 10 min, il se connecte à une BD Oracle pour extraire certaines données.
    Après exécution du service j'ai constaté que les connexions restent ouvertes dans la BD.
    sachant que initialement mon code etait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Myconnection = new OracleConnection(...);
    try
    {
    ...
    MyConnection.close();
    catch(Exception ex)
    {
     ... 
    //la fermeture de la connexion a été omise dans le catch
    }
    en regardant dans le journal du service, j'ai les erreurs oracle suivantes:
    ORA-03113: fin de fichier sur canal de communication
    puis
    ORA-01033: ORACLE initialization or shutdown in progress
    ma question est la suivante : est ce que le fait que la BD renvoie ces erreurs et que la connexion n'est pas fermée dans le catch que j'ai ce nombre de connexion ouvertes ou cela est dû à l'utilisation du pooling qui charge plusieurs connexions.

    Merci pour votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Il est de meilleure pratique d'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using(OracleConnection oracleConn = new OracleConnection(_connectionString))
    Ou de fermer la connexion dans le block finaly

    ++
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    Oui je suis tout à fait d'accords d'ailleurs j'ai ajouté le close() dans finally, mais disant je dois donner une explication à ce nombre de connexions ouvertes : est ce que c'est dû aux erreurs oracle ? même si l'erreur est relative à l'arrêt de la BD et à mon avis si celle ci s'arrête aucune connexion ne serait ouverte ...
    d'une autre part, dans ce type de programme, un seul objet connexion est crée dans le pool ou plusieurs ? si c'est un problème de pool alors là je dois le mettre à False

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/01/2014, 15h04
  2. Connexion 2 base de données oracle
    Par musmus dans le forum Oracle
    Réponses: 23
    Dernier message: 03/01/2007, 18h14
  3. Réponses: 12
    Dernier message: 21/12/2006, 11h49
  4. Connexion JDBC a une base Oracle
    Par habasque dans le forum Oracle
    Réponses: 3
    Dernier message: 17/10/2006, 15h49
  5. Réponses: 28
    Dernier message: 28/07/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo