Objet OracleConnection non instancié

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

6 réponses

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
En supprimant tous les produits Oracle de la machine et en reinstallant uniquement le client 8.17, l'exception n'est plus survenue

MeuledoR
3
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
23 janv. 2006 à 16:18
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
0
cs_Meuledor Messages postés 11 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 26 janvier 2006
24 janv. 2006 à 12:30
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
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
24 janv. 2006 à 13:10
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
24 janv. 2006 à 13:10
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
0
cs_Meuledor Messages postés 11 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 26 janvier 2006
24 janv. 2006 à 17:15
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
0
Rejoignez-nous