Problema con código embebido

23/10/2006 - 19:28 por Alejandro Giardino | Informe spam
Amigos, ya pregunté esto la semana pasada y me han contestado con buenas
sugerencias pero no he dado con la que resuelve el problema específico.
Reitero el taxto a ver si a alguien le pasó. Es un caso muy preciso y
sospecho de las instalaciones pero...???

Hola a todos, estoy haciendo el mantenimiento de un sistema programado en
ASP que lamentablemente tiene código embebido.
Tengo un error en ASP que no sé si no es en realidad de SQL, transcribo el
código:

<%
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")
oConn.Open Session("DSN") '''''''''''''''''''este es mi string de conexión

sSQL = "declare @Fecha as datetime "
sSQL = sSQL & "set @Fecha = getdate() -1 "
sSQL = sSQL & "select * from MiTabla where fecha < @Fecha "

oRS.Open sSQL, oconn

If oRS.EOF = true Then''''''''''''''''''''''''''esta es la línea que da
error
''''''Código
End If

oRS.Close
set ors = nothing
set oConn = nothing
%>


El error que aparece es:

ADODB.Recordset (0x800A0E78)
La operación no está permitida si el objeto está cerrado.
/MiArchivo.asp, línea 15

El problema lo estoy teninedo en el servidor de prueba que fue recientemente
reinstaldo, en producción funciona bien!!!!

A su vez vean que el error aparentemente tiene que ver con las variables
declaradas en el código embebido porque este código no falla:


<%
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")
oConn.Open Session("DSN")

sSQL = "select * from MiTabla"

oRS.Open sSQL, oconn

If oRS.EOF = true Then
''''''Código
End If

oRS.Close
set ors = nothing
set oConn = nothing
%>

Alguna sugerencia para solucionarlo???????????
 

Leer las respuestas

#1 Alejandro Giardino
23/10/2006 - 20:02 | Informe spam
Estimados, ya lo pude solucionar, le agrequé SET NOCOUNT ON antes del
declare, o sea, me quedó:

sSQL = "SET NOCOUNT ON declare @Fecha as datetime "

de todas formas no encontré documentación que me aclare en qué se relaciona
una cosa con la otra

"Alejandro Giardino" escribió en el mensaje
news:%23$$
Amigos, ya pregunté esto la semana pasada y me han contestado con buenas
sugerencias pero no he dado con la que resuelve el problema específico.
Reitero el taxto a ver si a alguien le pasó. Es un caso muy preciso y
sospecho de las instalaciones pero...???

Hola a todos, estoy haciendo el mantenimiento de un sistema programado en
ASP que lamentablemente tiene código embebido.
Tengo un error en ASP que no sé si no es en realidad de SQL, transcribo el
código:

<%
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")
oConn.Open Session("DSN") '''''''''''''''''''este es mi string de conexión

sSQL = "declare @Fecha as datetime "
sSQL = sSQL & "set @Fecha = getdate() -1 "
sSQL = sSQL & "select * from MiTabla where fecha < @Fecha "

oRS.Open sSQL, oconn

If oRS.EOF = true Then''''''''''''''''''''''''''esta es la línea que da
error
''''''Código
End If

oRS.Close
set ors = nothing
set oConn = nothing
%>


El error que aparece es:

ADODB.Recordset (0x800A0E78)
La operación no está permitida si el objeto está cerrado.
/MiArchivo.asp, línea 15

El problema lo estoy teninedo en el servidor de prueba que fue
recientemente
reinstaldo, en producción funciona bien!!!!

A su vez vean que el error aparentemente tiene que ver con las variables
declaradas en el código embebido porque este código no falla:


<%
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")
oConn.Open Session("DSN")

sSQL = "select * from MiTabla"

oRS.Open sSQL, oconn

If oRS.EOF = true Then
''''''Código
End If

oRS.Close
set ors = nothing
set oConn = nothing
%>

Alguna sugerencia para solucionarlo???????????



Preguntas similares