Error de System.OutOfMemoryException
Publicado por David (5 intervenciones) el 12/12/2013 15:17:23
Hola,
Tengo un problema, tengo una BD en SQL 2008, y tengo una tabla con 2 campos, uno de ellos es un Varbinary(max), donde tengo guardado una imagen.
El problema es cuando paso dichos campos a un dataread, me da Error de System.OutOfMemoryException
Por lo que he podido averigurar, y llemo una semana buscando el fallo, y creo que es por MemoryStream,
tengo la siguiente funcion para pasar byte a Image
Public Function ByteArrayToImage(ByVal byteArrayIn As Byte()) As Image
Dim ms As New MemoryStream(byteArrayIn)
Return Image.FromStream(ms)
ms.Dispose()
ms.Close()
End Function
El problema es que es una tabla con mas de 1000 registros e imagenes diferentes, y cuando lleva la mitad salta ese error, yo creo que es porque se queda sin memoria de tanto utilizar esta funcion, porque si cargo toda la tabla, pero solo utilizando una vez la imagen para todos los registros, no da error, y me estoy volviendo loco, estoy empezando a programar en vb.net y estoy desesperado.
SAludos,
David GM
Tengo un problema, tengo una BD en SQL 2008, y tengo una tabla con 2 campos, uno de ellos es un Varbinary(max), donde tengo guardado una imagen.
El problema es cuando paso dichos campos a un dataread, me da Error de System.OutOfMemoryException
Por lo que he podido averigurar, y llemo una semana buscando el fallo, y creo que es por MemoryStream,
tengo la siguiente funcion para pasar byte a Image
Public Function ByteArrayToImage(ByVal byteArrayIn As Byte()) As Image
Dim ms As New MemoryStream(byteArrayIn)
Return Image.FromStream(ms)
ms.Dispose()
ms.Close()
End Function
El problema es que es una tabla con mas de 1000 registros e imagenes diferentes, y cuando lleva la mitad salta ese error, yo creo que es porque se queda sin memoria de tanto utilizar esta funcion, porque si cargo toda la tabla, pero solo utilizando una vez la imagen para todos los registros, no da error, y me estoy volviendo loco, estoy empezando a programar en vb.net y estoy desesperado.
SAludos,
David GM
Valora esta pregunta


0