Maximos cursores abiertos

22/09/2005 - 16:36 por Silviall | Informe spam
Hola,

Estoy haciendo un programa que hace muchos selects,..
Y al cabo de algunos bucles el select me da el error ORA-01000 maximo numero
de cursores abiertos. He estado leyendo sobre el tema y lo que hago es
cmd.dispose, dr.close. Pero he ganado un poco pero no lo suficiente. Alguien
sabe que mas puedo hacer?

Saludos,

Silviall

Preguntas similare

Leer las respuestas

#1 Ariel Popovsky
22/09/2005 - 16:52 | Informe spam
Hola Silvia,

Yo también trabajo con Oracle hace tiempo y hay que tener mucho cuidado especialmente
con los DataReaders. En general conviene usarlos dentro de una sentencia
"using" asi te aseguras que al terminar se haga el dispose. Lo mismo con
el Command y la conexión. Y trata de leerlo rapidamente, no pases DataReaders
abiertos entre capas de la aplicación si puedes evitarlo, en esos casos usa
mejor una DataTable o DataSet o una colección de objetos de negocios.
Tal vez este influyendo la versión del Provider de Oracle. No sé que tal
funciona el de MS pero el de Oracle (ODP.net), tenía varios bugs en sus versiones
iniciales pero las ultimas funcionan muy bien.

Saludos!
Ariel Popovsky

Hola,

Estoy haciendo un programa que hace muchos selects,..
Y al cabo de algunos bucles el select me da el error ORA-01000 maximo
numero
de cursores abiertos. He estado leyendo sobre el tema y lo que hago es
cmd.dispose, dr.close. Pero he ganado un poco pero no lo suficiente.
Alguien
sabe que mas puedo hacer?
Saludos,

Silviall

Respuesta Responder a este mensaje
#2 Silviall
22/09/2005 - 17:14 | Informe spam
Hola Ariel,

Trabajo con VB .NET.
Lo que hago es
cmd.dispose
dr.close
dr=nothing
cmd=nothing
¿Ejemplo de una sentencia using? Trabajo con el ODP.NET 10G.

Gracias,

Silvia.

"Ariel Popovsky" escribió en el mensaje
news:
Hola Silvia,

Yo también trabajo con Oracle hace tiempo y hay que tener mucho cuidado
especialmente con los DataReaders. En general conviene usarlos dentro de
una sentencia "using" asi te aseguras que al terminar se haga el dispose.
Lo mismo con el Command y la conexión. Y trata de leerlo rapidamente, no
pases DataReaders abiertos entre capas de la aplicación si puedes
evitarlo, en esos casos usa mejor una DataTable o DataSet o una colección
de objetos de negocios.
Tal vez este influyendo la versión del Provider de Oracle. No sé que tal
funciona el de MS pero el de Oracle (ODP.net), tenía varios bugs en sus
versiones iniciales pero las ultimas funcionan muy bien.

Saludos!
Ariel Popovsky

Hola,

Estoy haciendo un programa que hace muchos selects,..
Y al cabo de algunos bucles el select me da el error ORA-01000 maximo
numero
de cursores abiertos. He estado leyendo sobre el tema y lo que hago es
cmd.dispose, dr.close. Pero he ganado un poco pero no lo suficiente.
Alguien
sabe que mas puedo hacer?
Saludos,

Silviall





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida