Objet OracleConnection non instancié [Résolu]

Messages postés
11
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 janvier 2006
- - Dernière réponse : cs_Meuledor
Messages postés
11
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 janvier 2006
- 26 janv. 2006 à 18:01
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;

}

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.

MeuledoR
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 janvier 2006
3
Merci
En supprimant tous les produits Oracle de la machine et en reinstallant uniquement le client 8.17, l'exception n'est plus survenue

MeuledoR

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Meuledor
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
1
0
Merci
Sur ce que je vois, il n'y pas de raison qu'il te mette ce genre de message à ce moment là.

Tu es sur que c'est sur le open() qu'il te met l'erreur

N'y aurait il pas un porlbmee plutot lier au fait que ta fonction est appelée deux fois en meme temps, ou un truc comme ca.
du fait que tu ouvre ou que tu essaie d'ouvrir deux connexion simultanée avec les memes identifant pourrait alors posé probleme, et encore.

Essaie de mettre un systeme pour que la fonction ne puisse pas etre lancé si la meme fonction est déjà lancée.


Be happy , by
Tao
Commenter la réponse de taoetc
Messages postés
11
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 janvier 2006
0
Merci
Même si elle est appelée 2 fois en même temps, le pool de connection ne devrait 'il pas proposer une connection disponible à chaque appel de la fonction ?

Essaie de mettre un systeme pour que la fonction ne puisse pas etre lancé si la meme fonction est déjà lancée.
Je sais pas du tout comment mettre en place un tel systeme

J'ai trouvé ca sur la msdn ... mais rien sur une System.NullReferenceException

MeuledoR
Commenter la réponse de cs_Meuledor
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
1
0
Merci
System.NullReferenceException
inervient quand un objet n'est pas instancié et que tu essaie d'appeler une de ces méthodes


Be happy , by
Tao
Commenter la réponse de taoetc
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
1
0
Merci
System.NullReferenceException
inervient quand un objet n'est pas instancié et que tu essaie d'appeler une de ces méthodes


Be happy , by
Tao
Commenter la réponse de taoetc
Messages postés
11
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 janvier 2006
0
Merci
ca j'avais compris , mais l'objet est pourtant instancié a la ligne precedente
Je voulais juste dire qu'ils ne disent rien sur ce type de probleme dans la page oracleConnection

Bon ca resoud pas mes problemes tout ca ... Pensez vous que ca puisse venir du client Oracle, il est un peu en vrac sur ma machine ... (plusieurs home)

MeuledoR
Commenter la réponse de cs_Meuledor