OVH Cloud OVH Cloud

Erreur OutofMemory

6 réponses
Avatar
Martin
Bonjour =E0 tous,

Lorsque j'essai de supprimer un lot de donn=E9es dans mon=20
application ASP .NET, je re=E7ois l'erreur:

"Exception of type System.OutOfMemoryException was thrown."

Que dois-je faire pour r=E9gler ce probl=E8me ???

Merci =E0 l'avance !!!

6 réponses

Avatar
Salut,

Avec un bout de code, ca serait plus simple.
Ou alors la manière dont vous vous y prenez pour supprimer.

Et si c'est un programme en ASP.NET, qui génère l'erreur,
le serveur web, le client, le serveur de base de données
(s'il est différent du serveur web)...

Un peu plus de détails quoi ! ;)

A+

-----Message d'origine-----
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was


thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
.



Avatar
Christophe F. [MS]
Bonjour,
Vous n'auriez pas une boucle interminable pas hasard?
Cdt,
CF.
"Martin" wrote in message
news:09c801c50e14$124fc680$
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
Avatar
Martin
C'est le serveur web qui génère l'erreur.

Et voici mon bout de code:

Dim cmdDiplome As New SqlCommand(cmdSelectSQL,
cmpCandidat.ConnCV)
Dim drDiplome As SqlDataReader
drDiplome = cmdDiplome.ExecuteReader()
Dim arrResult(,) As Integer = New Integer(,) {}
i = 0
Do While drDiplome.Read()
ReDim Preserve arrResult(2, arrResult.Length + 1)
arrResult(0, i) = CInt(drDiplome("T1"))
arrResult(1, i) = CInt(drDiplome("T3"))
i = i + 1
Loop
drDiplome.Close()


-----Message d'origine-----
Salut,

Avec un bout de code, ca serait plus simple.
Ou alors la manière dont vous vous y prenez pour


supprimer.

Et si c'est un programme en ASP.NET, qui génère l'erreur,
le serveur web, le client, le serveur de base de données
(s'il est différent du serveur web)...

Un peu plus de détails quoi ! ;)

A+

-----Message d'origine-----
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was


thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
.



.



Avatar
Frédéric Queudret [MS]
Bonjour,

Pouvez-vous préciser le nombre d'éléments ramenés par la requête (combien de
lignes dans drDiplome?)
Quel est le problème avec la suppression? Je ne vois pas de suppression dans
le code que vous fournissez.
Merci,
Frédéric.

"Martin" wrote in message
news:066d01c50eab$feea6da0$
C'est le serveur web qui génère l'erreur.

Et voici mon bout de code:

Dim cmdDiplome As New SqlCommand(cmdSelectSQL,
cmpCandidat.ConnCV)
Dim drDiplome As SqlDataReader
drDiplome = cmdDiplome.ExecuteReader()
Dim arrResult(,) As Integer = New Integer(,) {}
i = 0
Do While drDiplome.Read()
ReDim Preserve arrResult(2, arrResult.Length + 1)
arrResult(0, i) = CInt(drDiplome("T1"))
arrResult(1, i) = CInt(drDiplome("T3"))
i = i + 1
Loop
drDiplome.Close()


-----Message d'origine-----
Salut,

Avec un bout de code, ca serait plus simple.
Ou alors la manière dont vous vous y prenez pour


supprimer.

Et si c'est un programme en ASP.NET, qui génère l'erreur,
le serveur web, le client, le serveur de base de données
(s'il est différent du serveur web)...

Un peu plus de détails quoi ! ;)

A+

-----Message d'origine-----
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was


thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
.



.



Avatar
Martin
J'ai découvert que mon tableau "arrResult" devient trop
volumineux. Il possède beaucoup trop d'enregistrements
dans celui-ci et c'est pour cela que j'ai cette erreur.

-----Message d'origine-----
Bonjour,

Pouvez-vous préciser le nombre d'éléments ramenés par la


requête (combien de
lignes dans drDiplome?)
Quel est le problème avec la suppression? Je ne vois pas


de suppression dans
le code que vous fournissez.
Merci,
Frédéric.

"Martin" wrote in


message
news:066d01c50eab$feea6da0$
C'est le serveur web qui génère l'erreur.

Et voici mon bout de code:

Dim cmdDiplome As New SqlCommand(cmdSelectSQL,
cmpCandidat.ConnCV)
Dim drDiplome As SqlDataReader
drDiplome = cmdDiplome.ExecuteReader()
Dim arrResult(,) As Integer = New Integer(,) {}
i = 0
Do While drDiplome.Read()
ReDim Preserve arrResult(2, arrResult.Length +


1)
arrResult(0, i) = CInt(drDiplome("T1"))
arrResult(1, i) = CInt(drDiplome("T3"))
i = i + 1
Loop
drDiplome.Close()


-----Message d'origine-----
Salut,

Avec un bout de code, ca serait plus simple.
Ou alors la manière dont vous vous y prenez pour


supprimer.

Et si c'est un programme en ASP.NET, qui génère l'erreur,
le serveur web, le client, le serveur de base de données
(s'il est différent du serveur web)...

Un peu plus de détails quoi ! ;)

A+

-----Message d'origine-----
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was


thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
.



.





.



Avatar
Frédéric Queudret [MS]
Oui, cela paraît être le problème puisque le "Redim" recopie le tableau
intial dans le tableau destination redimensionné (donc l'espace alloué est
au moins de 2x la taille du tableau à redimensionner).
De plus, les instances de grands tailles allouées et disposées rapidement
pressurisent le GC, qui va passer son temps à collecter la mémoire sur de
zones d'allocation (si en plus elles sont non contgües, cela peut entraîner
des problèmes de performance).
Peut-être que dans votre cas, il conviendrait d'utiliser une collection
d'instances d'une classe stockant les paramètres T1 & T3.
Frédéric.

"Martin" wrote in message
news:10ab01c50ebe$53063ce0$
J'ai découvert que mon tableau "arrResult" devient trop
volumineux. Il possède beaucoup trop d'enregistrements
dans celui-ci et c'est pour cela que j'ai cette erreur.

-----Message d'origine-----
Bonjour,

Pouvez-vous préciser le nombre d'éléments ramenés par la


requête (combien de
lignes dans drDiplome?)
Quel est le problème avec la suppression? Je ne vois pas


de suppression dans
le code que vous fournissez.
Merci,
Frédéric.

"Martin" wrote in


message
news:066d01c50eab$feea6da0$
C'est le serveur web qui génère l'erreur.

Et voici mon bout de code:

Dim cmdDiplome As New SqlCommand(cmdSelectSQL,
cmpCandidat.ConnCV)
Dim drDiplome As SqlDataReader
drDiplome = cmdDiplome.ExecuteReader()
Dim arrResult(,) As Integer = New Integer(,) {}
i = 0
Do While drDiplome.Read()
ReDim Preserve arrResult(2, arrResult.Length +


1)
arrResult(0, i) = CInt(drDiplome("T1"))
arrResult(1, i) = CInt(drDiplome("T3"))
i = i + 1
Loop
drDiplome.Close()


-----Message d'origine-----
Salut,

Avec un bout de code, ca serait plus simple.
Ou alors la manière dont vous vous y prenez pour


supprimer.

Et si c'est un programme en ASP.NET, qui génère l'erreur,
le serveur web, le client, le serveur de base de données
(s'il est différent du serveur web)...

Un peu plus de détails quoi ! ;)

A+

-----Message d'origine-----
Bonjour à tous,

Lorsque j'essai de supprimer un lot de données dans mon
application ASP .NET, je reçois l'erreur:

"Exception of type System.OutOfMemoryException was


thrown."

Que dois-je faire pour régler ce problème ???

Merci à l'avance !!!
.



.





.