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

Accès aux données Discussion :

[ADO.Net][C#] Pourquoi OracleConnection lève une exception ?


Sujet :

Accès aux données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut [ADO.Net][C#] Pourquoi OracleConnection lève une exception ?
    Environnement: VS .NET 2003 En
    Framework: 1.1 (SP ? comment le savoir ?)
    OS: Win XP SP1

    Bonjour,
    J'appelle cette methode sur l'evenement SelectedIndexChange d'une dropdownlist.
    Le probleme, c'est que j'ai parfois une erreur : System.NullReferenceException: Object reference not set to an instance of an object
    au niveau du oraConn.Open(). Cette erreur survient de maniere aleatoire et/ou apres une periode d'inactivité du client.
    Il semble evident que le code est bon... Pensez vous que le client Oracle puisse etre en cause ? La gestion du pool de connection ? ou autre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    private ICollection CreateNewMarkingSource(string str) 
    {
      // Appel de la procedure ...
      string conn_string = ConfigurationSettings.AppSettings["xxx"];
      System.Data.OracleClient.OracleConnection oraConn = new System.Data.OracleClient.OracleConnection(conn_string);
     
      oraConn.Open();
      System.Data.OracleClient.OracleCommand cmdMkg = new System.Data.OracleClient.OracleCommand();
      cmdMkg.CommandText = ConfigurationSettings.AppSettings["Procedure.xxxxxxx"];                                    
      cmdMkg.CommandType = CommandType.StoredProcedure;
      cmdMkg.Connection = oraConn;
      System.Data.OracleClient.OracleParameter p1Mkg = new System.Data.OracleClient.OracleParameter("xxxx",System.Data.OracleClient.OracleType.Number,11);
      System.Data.OracleClient.OracleParameter p2Mkg = new System.Data.OracleClient.OracleParameter("xxx",System.Data.OracleClient.OracleType.Cursor);
      p1Mkg.Direction = ParameterDirection.Input;
      p2Mkg.Direction = ParameterDirection.Output;        
      p1Mkg.Value = Convert.ToInt32(str);   
      cmdMkg.Parameters.Add(p1Mkg);
      cmdMkg.Parameters.Add(p2Mkg);                   
      System.Data.OracleClient.OracleDataReader drMkg = cmdMkg.ExecuteReader();
      DataTable dt = new DataTable();            
      while(drMkg.Read())
      { 
        // ....
      }  
      drMkg.Close();       
      if(oraConn.State != ConnectionState.Closed)
      { oraConn.Close();}            
      DataView dv = new DataView(dt);
      return dv;
    }
    Dans mon web.config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add key="xxx" value="user id=xxxxxxx;data source=xxx;password=xxxxxxxx" />
    La plupart du temps ca se passe bien ... mais parfois cette erreur survient .
    Je n'ai pas pu trouver de règle à ce sujet

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Regarde le contenu de conn_string avant de faire ton Open: je pense que c'est parce que ta chaine de connexion est mauvaise

    Si Data Source est faux, OracleConnection ne sera pas instancié d'où l'exception

    Je suis presque sur que ton pb vient de là

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    Donc surement du tnsnames.ora ... C'est vrai que mon (mes!) client oracle est en vrac, j'ai plusieurs home ....Je vais investiguer. Merci

    Bon, j'ai viré tous les produits oracle y compris l'ODP.net (necessitant un client 9i) ... j'ai seulement reinstallé le client 8.17 et ca semble marcher comme souhaité
    Mais bon, test & see , je vous tiendrez au courant plus tard

    L'exception n'a pas remontré le bout de son nez . Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/10/2008, 13h49
  2. Réponses: 2
    Dernier message: 19/07/2006, 10h16
  3. [ADO.Net][Access] Pourquoi ai-je une erreur lors de l'Update ?
    Par nazimb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 15/05/2006, 09h37
  4. Réponses: 2
    Dernier message: 26/10/2005, 11h44
  5. Réponses: 9
    Dernier message: 31/05/2005, 10h05

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