nicompx
Messages postés107Date d'inscriptionlundi 16 janvier 2006StatutMembreDernière intervention15 juillet 2009
-
8 août 2007 à 09:27
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 2014
-
8 août 2007 à 14:16
Bonjour,
Je developpe une application C# avec VS2003 Framework1.1.
Cette application lit en boucle dans une base de données Oracle (client9.2).
Je me suis rendu compte que la mémoire augmentait sans arrêt. (+- 150ko / seconde)
Je suppose que j'oublie de libérer quelque chose!?
Pouvez-vous m'aider?
Merci pour votre aide.
>> NiCoMpX <<
Voici le code de l'application:
/********************************/
/* MAIN */
/********************************/
string sQuery;
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 8 août 2007 à 09:42
Il me semble qu'il n'y a rien d'anormal dans ton code. Cependant, les instructions
this.oracleCmd =
null;
this.oracleReader =
null;
ne libèrent pas la mémoire, elles rendent simplement les objets éligibles pour la garbage collection....
En bref, il est possible que ton occupation mémoire augmente le temps que le garbage collector fasse son office, puis rechute après. En bref, tu dois vérifier ton occupation mémoire sur du long terme pour voir si tu as effectivement un problème, pas jsute sur quelques secondes (peut etre que cest ce que tu as fait? dans ce cas ca me semble étonnant)
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 8 août 2007 à 10:58
hum... pourquoi retourner un object[,] dans ta fonction de lecture ? pourquoi pas tout simple un arraylist ?
ca t'éviterait de lancer 2 fois ta requête... non ?
pas non plus la peine de mettre 2 fois la méthode de déconnection... c'est suffisant dans le finally !
nicompx
Messages postés107Date d'inscriptionlundi 16 janvier 2006StatutMembreDernière intervention15 juillet 2009 8 août 2007 à 11:19
Re,
Je viens de faire les adaptations que tu vous m'avez suggéré et j'ai toujours le problème.
Je pense que ca viens de l'objet oracleReader mais pourtant il est bien fermé dans le finally!?
Avez-vous d'autres idées????