problemas con ADO

06/05/2005 - 13:56 por luis qTp | Informe spam
tengo la siguiente función a la que llamo desde una página ASP.

Function saca_texto(pagina)
Dim cadena
'on error resume next
dim conn, registro, consulta, num_resultados

consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ") ORDER
BY parrafo"
strconn = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
set conn = Server.Createobject("ADODB.connection")
conn.open strconn

Set registro = Server.CreateObject ("ADODB.RecordSet")
registro.Open consulta, conn, 1 ' adOpenStatic
If (Err.Number <> 0) Then
procesar_error "saca_texto(pagina) en negocio.asp ", Err
End If
num_resultados = registro.RecordCount
if num_resultados > 0 then
while not registro.eof
titulo = registro("titulo")
texto = registro("texto")
if titulo <> "" then
cadena = cadena & "<p class=textoG>" & titulo
end if
cadena = cadena & "<p class=textoM>" & texto
registro.Movenext
wend
end if
registro.Close
conn.Close
Set registro = nothing
Set conn = nothing
saca_texto = cadena
End Function

y siempre obtengo el mismo error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access]Error general No se puede
abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread 0x668
DBC 0x163900c Jet' del Registro.
/miweb/inc/negocio.asp, line 11

¿qué es lo que hago mal? he seguido al pie de la letra todas las
instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS

Preguntas similare

Leer las respuestas

#1 luis qTp
06/05/2005 - 15:32 | Informe spam
ya ha sido compactada, reparada y no se cuantas cosas más.

además tiene únicamente 11 registros con lo que su corrupción es poco
probabla. Access la abre bien y ya no se qué hacer. Hace una semana
funcionaba bien hasta que la bría y cerraba con access, entonces dejaba de
funcionar hasta que reiniciaba el PC. Cuando la subo al servidor en
Internet, no falla nada, funciona perfectamente.

¿qué hago?

PD: PHP y MySQL nunca me direon tantos problemas...

"Matias Iacono" escribió en el mensaje
news:
Una posibilidad, que la base de datos este corrupta.

Pueba a repararla.

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"luis qTp" escribió en el mensaje
news:LXIee.394986$
> tengo la siguiente función a la que llamo desde una página ASP.
>
> Function saca_texto(pagina)
> Dim cadena
> 'on error resume next
> dim conn, registro, consulta, num_resultados
>
> consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ")


ORDER
> BY parrafo"
> strconn = "DRIVER={Microsoft Access Driver
> (*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
> set conn = Server.Createobject("ADODB.connection")
> conn.open strconn
>
> Set registro = Server.CreateObject ("ADODB.RecordSet")
> registro.Open consulta, conn, 1 ' adOpenStatic
> If (Err.Number <> 0) Then
> procesar_error "saca_texto(pagina) en negocio.asp ", Err
> End If
> num_resultados = registro.RecordCount
> if num_resultados > 0 then
> while not registro.eof
> titulo = registro("titulo")
> texto = registro("texto")
> if titulo <> "" then
> cadena = cadena & "<p class=textoG>" & titulo
> end if
> cadena = cadena & "<p class=textoM>" & texto
> registro.Movenext
> wend
> end if
> registro.Close
> conn.Close
> Set registro = nothing
> Set conn = nothing
> saca_texto = cadena
> End Function
>
> y siempre obtengo el mismo error:
> Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
> [Microsoft][Controlador ODBC Microsoft Access]Error general No se puede
> abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread
> 0x668
> DBC 0x163900c Jet' del Registro.
> /miweb/inc/negocio.asp, line 11
>
> ¿qué es lo que hago mal? he seguido al pie de la letra todas las
> instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS
>
>
>


Respuesta Responder a este mensaje
#2 luis qTp
06/05/2005 - 16:03 | Informe spam
he rehecho el archivo MDB y el error vuelve a saltar ahora con una
peculiaridad:

si accedo al web (y por tanto a la BD) una vez cada 60 segundos, el web
funciona perfectamente. ¿?¿?¿?¿?¿?

esto es de locos!

"Matias Iacono" escribió en el mensaje
news:
Una posibilidad, que la base de datos este corrupta.

Pueba a repararla.

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"luis qTp" escribió en el mensaje
news:LXIee.394986$
> tengo la siguiente función a la que llamo desde una página ASP.
>
> Function saca_texto(pagina)
> Dim cadena
> 'on error resume next
> dim conn, registro, consulta, num_resultados
>
> consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ")


ORDER
> BY parrafo"
> strconn = "DRIVER={Microsoft Access Driver
> (*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
> set conn = Server.Createobject("ADODB.connection")
> conn.open strconn
>
> Set registro = Server.CreateObject ("ADODB.RecordSet")
> registro.Open consulta, conn, 1 ' adOpenStatic
> If (Err.Number <> 0) Then
> procesar_error "saca_texto(pagina) en negocio.asp ", Err
> End If
> num_resultados = registro.RecordCount
> if num_resultados > 0 then
> while not registro.eof
> titulo = registro("titulo")
> texto = registro("texto")
> if titulo <> "" then
> cadena = cadena & "<p class=textoG>" & titulo
> end if
> cadena = cadena & "<p class=textoM>" & texto
> registro.Movenext
> wend
> end if
> registro.Close
> conn.Close
> Set registro = nothing
> Set conn = nothing
> saca_texto = cadena
> End Function
>
> y siempre obtengo el mismo error:
> Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
> [Microsoft][Controlador ODBC Microsoft Access]Error general No se puede
> abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread
> 0x668
> DBC 0x163900c Jet' del Registro.
> /miweb/inc/negocio.asp, line 11
>
> ¿qué es lo que hago mal? he seguido al pie de la letra todas las
> instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS
>
>
>


Respuesta Responder a este mensaje
#3 luis qTp
06/05/2005 - 16:06 | Informe spam
el error ahora no es el de antes, es el siguiente:

Provider (0x80004005)
Error no especificado
/miweb/inc/negocio.asp, line 11 (esta es la línea donde hago conn.open
strconn)

parecería que no cierro la conexión, pero antes de salir de la función y
devolver valores realizo la limpieza y cierre de registro y conexion:

registro.Close
conn.Close
Set registro = nothing
Set conn = nothing



"luis qTp" escribió en el mensaje
news:WOKee.397080$
he rehecho el archivo MDB y el error vuelve a saltar ahora con una
peculiaridad:

si accedo al web (y por tanto a la BD) una vez cada 60 segundos, el web
funciona perfectamente. ¿?¿?¿?¿?¿?

esto es de locos!

"Matias Iacono" escribió en el mensaje
news:
> Una posibilidad, que la base de datos este corrupta.
>
> Pueba a repararla.
>
> Saludos,
>
> Matías Iacono
> Microsoft MVP ASP/ASP.net - DCE3
>
> Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
> "luis qTp" escribió en el mensaje
> news:LXIee.394986$
> > tengo la siguiente función a la que llamo desde una página ASP.
> >
> > Function saca_texto(pagina)
> > Dim cadena
> > 'on error resume next
> > dim conn, registro, consulta, num_resultados
> >
> > consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ")
ORDER
> > BY parrafo"
> > strconn = "DRIVER={Microsoft Access Driver
> > (*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
> > set conn = Server.Createobject("ADODB.connection")
> > conn.open strconn
> >
> > Set registro = Server.CreateObject ("ADODB.RecordSet")
> > registro.Open consulta, conn, 1 ' adOpenStatic
> > If (Err.Number <> 0) Then
> > procesar_error "saca_texto(pagina) en negocio.asp ", Err
> > End If
> > num_resultados = registro.RecordCount
> > if num_resultados > 0 then
> > while not registro.eof
> > titulo = registro("titulo")
> > texto = registro("texto")
> > if titulo <> "" then
> > cadena = cadena & "<p class=textoG>" & titulo
> > end if
> > cadena = cadena & "<p class=textoM>" & texto
> > registro.Movenext
> > wend
> > end if
> > registro.Close
> > conn.Close
> > Set registro = nothing
> > Set conn = nothing
> > saca_texto = cadena
> > End Function
> >
> > y siempre obtengo el mismo error:
> > Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
> > [Microsoft][Controlador ODBC Microsoft Access]Error general No se


puede
> > abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread
> > 0x668
> > DBC 0x163900c Jet' del Registro.
> > /miweb/inc/negocio.asp, line 11
> >
> > ¿qué es lo que hago mal? he seguido al pie de la letra todas las
> > instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Matias Iacono
06/05/2005 - 17:07 | Informe spam
Una posibilidad, que la base de datos este corrupta.

Pueba a repararla.

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"luis qTp" escribió en el mensaje
news:LXIee.394986$
tengo la siguiente función a la que llamo desde una página ASP.

Function saca_texto(pagina)
Dim cadena
'on error resume next
dim conn, registro, consulta, num_resultados

consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ") ORDER
BY parrafo"
strconn = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
set conn = Server.Createobject("ADODB.connection")
conn.open strconn

Set registro = Server.CreateObject ("ADODB.RecordSet")
registro.Open consulta, conn, 1 ' adOpenStatic
If (Err.Number <> 0) Then
procesar_error "saca_texto(pagina) en negocio.asp ", Err
End If
num_resultados = registro.RecordCount
if num_resultados > 0 then
while not registro.eof
titulo = registro("titulo")
texto = registro("texto")
if titulo <> "" then
cadena = cadena & "<p class=textoG>" & titulo
end if
cadena = cadena & "<p class=textoM>" & texto
registro.Movenext
wend
end if
registro.Close
conn.Close
Set registro = nothing
Set conn = nothing
saca_texto = cadena
End Function

y siempre obtengo el mismo error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access]Error general No se puede
abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread
0x668
DBC 0x163900c Jet' del Registro.
/miweb/inc/negocio.asp, line 11

¿qué es lo que hago mal? he seguido al pie de la letra todas las
instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS



Respuesta Responder a este mensaje
#5 Matias Iacono
06/05/2005 - 19:32 | Informe spam
PD: PHP y MySQL nunca me direon tantos problemas...



ASP y SQL Server tampoco :p

En el caso de access, como es una base de datos que trabaja a nivel de
archivo, tiene problemas de bloqueos. Cuando la abres con access y tratas de
acceder desde otro lugar a la misma base de datos, esta ya esta bloqueada y
no deja que la otra aplicacion pueda leerla.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"luis qTp" escribió en el mensaje
news:ZlKee.396604$
ya ha sido compactada, reparada y no se cuantas cosas más.

además tiene únicamente 11 registros con lo que su corrupción es poco
probabla. Access la abre bien y ya no se qué hacer. Hace una semana
funcionaba bien hasta que la bría y cerraba con access, entonces dejaba de
funcionar hasta que reiniciaba el PC. Cuando la subo al servidor en
Internet, no falla nada, funciona perfectamente.

¿qué hago?

PD: PHP y MySQL nunca me direon tantos problemas...

"Matias Iacono" escribió en el mensaje
news:
Una posibilidad, que la base de datos este corrupta.

Pueba a repararla.

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"luis qTp" escribió en el mensaje
news:LXIee.394986$
> tengo la siguiente función a la que llamo desde una página ASP.
>
> Function saca_texto(pagina)
> Dim cadena
> 'on error resume next
> dim conn, registro, consulta, num_resultados
>
> consulta = "SELECT * FROM textos WHERE (pagina=" & CInt(pagina) & ")


ORDER
> BY parrafo"
> strconn = "DRIVER={Microsoft Access Driver
> (*.mdb)};DBQ=C:\Inetpub\wwwroot\miweb\db\midb.mdb"
> set conn = Server.Createobject("ADODB.connection")
> conn.open strconn
>
> Set registro = Server.CreateObject ("ADODB.RecordSet")
> registro.Open consulta, conn, 1 ' adOpenStatic
> If (Err.Number <> 0) Then
> procesar_error "saca_texto(pagina) en negocio.asp ", Err
> End If
> num_resultados = registro.RecordCount
> if num_resultados > 0 then
> while not registro.eof
> titulo = registro("titulo")
> texto = registro("texto")
> if titulo <> "" then
> cadena = cadena & "<p class=textoG>" & titulo
> end if
> cadena = cadena & "<p class=textoM>" & texto
> registro.Movenext
> wend
> end if
> registro.Close
> conn.Close
> Set registro = nothing
> Set conn = nothing
> saca_texto = cadena
> End Function
>
> y siempre obtengo el mismo error:
> Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
> [Microsoft][Controlador ODBC Microsoft Access]Error general No se puede
> abrir la clave 'Temporary (volatile) Jet DSN for process 0x5b8 Thread
> 0x668
> DBC 0x163900c Jet' del Registro.
> /miweb/inc/negocio.asp, line 11
>
> ¿qué es lo que hago mal? he seguido al pie de la letra todas las
> instrucciones que he encontrado en cuanto a conexión de ASP con ACCESS
>
>
>






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida