Operation is not allowed when the object is closed

29/06/2006 - 17:56 por Manuel Vera | Informe spam
"Operation is not allowed when the object is closed"

Ahora esta apareciendo este error en mi sitio web.
Aparece en una página que tenia MESES o AÑOS funcionando sin problema.
Ya el SP le había colocado la sentencia SET NOCOUNT ON desde hace mucho
tiempo.
¿porque ahora esta dando problemas?
Si ejecuto el SP desde el QueryAnalizer, arroja varios registros y no da
ningun mensaje de error.

Alguna sugerencia?
Consegui que debia usar lo siguiente en ASP:
IF RS.State = 1 THEN
IF RS.EOF THEN ' aqui es donde estaba dando el error, en esta validacion
.
END IF
END IF

Pero, ¿porque sucede este error?

Gracias
MV

Preguntas similare

Leer las respuestas

#6 Manuel Vera
30/06/2006 - 17:26 | Informe spam
Que dolor de cabeza con este error

Todos los RS los abro utilizando la rutina AbrirDatosOff() que te envie en
el mensaje anterior.

Luego de colocar la validacion RS.State=1 dejo de ocurrir el error en esa
página, pero ahora aparece en otra página, la cual estaba funcionando
perfectamentre hasta hace un momento.

Eso quiere decir que debo revisar todas mis páginas y colocarle la
validacion:
IF RS.State=1 THEN
IF RS.EOF THEN
.
END IF
END IF
?????

DIOS!!!!

Revisando, antes del error en el EOF coloque lo siguiente a la variable
Conex:

<!-- Conex.Version: 2.8-->
<!-- Conex.State: 1-->
<!-- Conex.Provider: SQLOLEDB.1-->

Saludos
Manuel

"Matías Iacono" escribió en el mensaje
news:
No veo nada :(

Solo puedo decir algunas cosas que me quedan en dudas, pero supongo que lo
tienes correcto.

Por ejemplo, si usas una conexion que no se haya realizado un CLOSE por
alguna condicion.

O que efectivamente se haya realizado un OPEN (Aunque en la forma de
manejar el recordset puede variar todo esto)

La otra que se me ocurre es que se carguen datos de forma asincrona (que
no tiene mucha logica pero por ahi :) ) por lo que los datos aun no se han
cargado, pero ya llegó al codigo (Solo digo lo que me viene a la cabeza)

Pero veo que tienes un control de errores, asi que deberías, si hay,
mostrate un mensaje.

Personalmente no veo nada raro.

Matías Iacono
Microsoft MVP ASP/ASP.net
"Manuel Vera" escribió en el mensaje
news:
Este es parte del codigo:

x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x

SQL = "{call spProcedimiento (" & idcod & ")}"
'ver mas abajo...
call AbrirDatosOff( gConnect, Data, SQL )

'la linea que sigue fue la solucion recomendada
'la cual funciona. Sin embargo, ¿porque ahora ocurre el error con EOF?
if Data.State = 1 then ' **SOLUCION TEMPORAL

'la siguiente linea, con EOF, es la del problema
'este error aparece intermitente o aleatorio, es decir,
'la misma pagina a veces da error y otras no
'¿será cuestion de TimeOut?
if not Data.EOF then ' **ESTA ES LA DEL ERROR**
aListado = Data.GetRows()
end if
Data.Close
end if

x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x

sub AbrirDatosOff(gConnect,gData,SQL)
on error resume next
with gData
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly '0
.LockType = adLockReadOnly '1
.Open SQL, gConnect
set .ActiveConnection = nothing
end with
if Err.number <> 0 then
SQL = Err.Description & vbCrLf & "SQL: " & SQL
call Err.Raise( Err.number , Err.Source , SQL , Err.helpfile ,
Err.HelpContext )
end if
end sub

x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x

Gracias
MV


"Matías Iacono" escribió en el mensaje
news:eR00$
Como obtienes el recordset?

Saludos

Matías Iacono
Microsoft MVP ASP/ASP.net
"Manuel Vera" escribió en el mensaje
news:
"Operation is not allowed when the object is closed"

Ahora esta apareciendo este error en mi sitio web.
Aparece en una página que tenia MESES o AÑOS funcionando sin problema.
Ya el SP le había colocado la sentencia SET NOCOUNT ON desde hace mucho
tiempo.
¿porque ahora esta dando problemas?
Si ejecuto el SP desde el QueryAnalizer, arroja varios registros y no
da ningun mensaje de error.

Alguna sugerencia?
Consegui que debia usar lo siguiente en ASP:
IF RS.State = 1 THEN
IF RS.EOF THEN ' aqui es donde estaba dando el error, en esta
validacion
.
END IF
END IF

Pero, ¿porque sucede este error?

Gracias
MV













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