Objet OracleConnection non instancié [Résolu]

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

Merci cs_Meuledor 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.