asp funciona en un equipo y en otro no

29/07/2004 - 14:09 por pedro | Informe spam
Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows 2000
professional SP4. Al llevarme esa misma aplicación a otro
equipo, también con Windows 2000 Profesional SP4, cuando
intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da error
(en el segundo ordenador, ya que en el primero funciona de
las dos formas)

1) En el caso de tener un dsn, el código es el siguiente:

SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error de
disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4 Jet'
del Registro.

Agradezco cualquier ayuda, ya que aparentemente los dos
equipos tienen todo igual.

Preguntas similare

Leer las respuestas

#6 Franco Figún
29/07/2004 - 19:30 | Informe spam
1) Tenes permiso a dicha red?
2) Está creado el DSN?
3) Es necesario el DSN? Porque tenes opciones mas seguras, como conectarte
por ip, con user y pass.
4) Tenes algun tipo de reestriccion de NTFS o del IIS?

FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:
"pedro" wrote in message
news:651c01c47564$ec9c6b70$
Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows 2000
professional SP4. Al llevarme esa misma aplicación a otro
equipo, también con Windows 2000 Profesional SP4, cuando
intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da error
(en el segundo ordenador, ya que en el primero funciona de
las dos formas)

1) En el caso de tener un dsn, el código es el siguiente:

SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error de
disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4 Jet'
del Registro.

Agradezco cualquier ayuda, ya que aparentemente los dos
equipos tienen todo igual.
Respuesta Responder a este mensaje
#7 Jhonny Vargas P.
30/07/2004 - 04:05 | Informe spam
Exacto... debe ser problemas de permisos...

revisa los usuarios anónimos si pueden acceder a la carpeta donde se
encuentra la base de datos (de lectura y escritura)

Lo otro que te recomiendo y si el servidor lo controlas tu (que no sea de
pago), es quitar la base de datos de los directorios virtuales, ya que
cualquier persona o usuario lo podría bajar desde internet... y como los
usuarios anónimos van a tener acceso de escritura y lectura te podrían dejar
algo..

Como accedes a la base de datos desde el servidor, no hay ningún problema en
hacer referencia a una carpeta c:\datos\base.mdb

Saludos,
Jhonny Vargas P.


"Franco Figún" wrote in message
news:
1) Tenes permiso a dicha red?
2) Está creado el DSN?
3) Es necesario el DSN? Porque tenes opciones mas seguras, como conectarte
por ip, con user y pass.
4) Tenes algun tipo de reestriccion de NTFS o del IIS?

FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:
"pedro" wrote in message
news:651c01c47564$ec9c6b70$
Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows 2000
professional SP4. Al llevarme esa misma aplicación a otro
equipo, también con Windows 2000 Profesional SP4, cuando
intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da error
(en el segundo ordenador, ya que en el primero funciona de
las dos formas)

1) En el caso de tener un dsn, el código es el siguiente:

SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error de
disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4 Jet'
del Registro.

Agradezco cualquier ayuda, ya que aparentemente los dos
equipos tienen todo igual.


Respuesta Responder a este mensaje
#8 Pedro
30/07/2004 - 14:16 | Informe spam
Hola Miguel

He probado lo que me dices tanto en el ordenador en el que
funcionaba todo al principio como en el que fallaba.

El resultado es que en el que todo funcionaba, con lo que
me dices sigue funcionando, pero en el otro ahora me sale
otro error, que es el siguiente

Tipo de error:
Microsoft JET Database Engine (0x80004005)
Error no especificado
/portal/prueba/conecta.asp, line 24

Una cosa es que en la linea donde pone
Set rs = Server.CreateObject("ADODB.Connection")
he sustituido Connection por Recordset.

¿No crees que puede ser algo de Windows en vez de el
código?


Muchas gracias

Hola Pedro!

Claro que el coódigo sigue funcionando, la cadena de


conexión es sólo
para que el Servidor Web pueda establecer una conexión a


una base de
datos. En tu caso la forma de conexión (cadenaConn) a la


base de datos
sería:

<%
Dim cadenaConn
Set Conn=Server.CreateObject("ADODB.Connection")
cadenaConn= "Provider=Microsoft.Jet.OLEDB.4.0;Data


Source=" &
Server.MapPath("conexion.mdb")
Conn.Open cadenaConn
Set rs = Server.CreateObject("ADODB.Connection")
rs.Open sqlTxt Conn
' sigue código...
%>

Suponiendo que tu base de datos se


llame "conexion.mdb" y que ésta se
encuentre en el directorio raíz del servidor Web (cosa


poco
recomendable, por otro lado, y que imagino tienes ahí


para hacer pruebas).

Saludos!
Miguel



wrote:

Hola Miguel

Si pongo esa cadena de conexión para base de datos
Access, el resto de código sigue funcionando? ¿Donde
puedo encontrar información ?

Muchisimas gracias!!

Saludos


Hola Pedro.

En servidores de internet ISS 5.0 (W2K Professional) y



versiones

superiores, lo mejor es que utilices la siguiente






cadena

de conexion

para bases de datos MSAccess:

"Provider=Microsoft.Jet.OLEDB.4.0;Data SourceºSE.MDB"

Saludos!
Miguel


pedro wrote:

Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows





2000

professional SP4. Al llevarme esa misma aplicación a





otro

equipo, también con Windows 2000 Profesional SP4,





cuando

intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da





error

(en el segundo ordenador, ya que en el primero





funciona de

las dos formas)

1) En el caso de tener un dsn, el código es el





siguiente:

SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error





de

disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4





Jet'

del Registro.

Agradezco cualquier ayuda, ya que aparentemente los





dos

equipos tienen todo igual.




.








.

Respuesta Responder a este mensaje
#9 pedro
30/07/2004 - 14:27 | Informe spam
Hola Franco y Jhonny

Os respondo sobre las preguntas de Franco:
1) Tenes permiso a dicha red?
Estoy funcionando en equipos que aunque están conectados
en red, estoy ejecutando el código como local en cada
equipo. Cuando funcione, probaré en red
2) Está creado el DSN?
Si
3) Es necesario el DSN? Porque tenes opciones mas seguras,
como conectarte por ip, con user y pass.
He probado creando la DSN y probando el código sin dsn,
cada uno con su conexión correspondiente.
4) Tenes algun tipo de reestriccion de NTFS o del IIS?
Creo que no, ya que instalé el IIS directamente, y me
funcionó a la primera en un equipo pero no en el segundo.
En NTFS tampoco tengo restricciones.

En cuanto al tema de permisos, tanto la carpeta como los
archivos de la misma, está dado de alta el
usuario "todos", y tiene control total.

También he probado a meterlos usuarios IUSR_nombremaquina
y también IWAM_nombremaquina dentro de los usuarios de la
carpeta. En opciones avanzadas me dice que todos los
usuarios tienen control total.

Se me escapa algo, pero no logro saber que es.

Muchas Gracias y un saludo

Espero vuestra respuesta

Exacto... debe ser problemas de permisos...

revisa los usuarios anónimos si pueden acceder a la


carpeta donde se
encuentra la base de datos (de lectura y escritura)

Lo otro que te recomiendo y si el servidor lo controlas


tu (que no sea de
pago), es quitar la base de datos de los directorios


virtuales, ya que
cualquier persona o usuario lo podría bajar desde


internet... y como los
usuarios anónimos van a tener acceso de escritura y


lectura te podrían dejar
algo..

Como accedes a la base de datos desde el servidor, no hay


ningún problema en
hacer referencia a una carpeta c:\datos\base.mdb

Saludos,
Jhonny Vargas P.


"Franco Figún" wrote in message
news:
1) Tenes permiso a dicha red?
2) Está creado el DSN?
3) Es necesario el DSN? Porque tenes opciones mas




seguras, como conectarte
por ip, con user y pass.
4) Tenes algun tipo de reestriccion de NTFS o del IIS?

FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:
"pedro" wrote in message
news:651c01c47564$ec9c6b70$
Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows 2000
professional SP4. Al llevarme esa misma aplicación a




otro
equipo, también con Windows 2000 Profesional SP4, cuando
intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da




error
(en el segundo ordenador, ya que en el primero funciona




de
las dos formas)

1) En el caso de tener un dsn, el código es el




siguiente:

SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error de
disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4




Jet'
del Registro.

Agradezco cualquier ayuda, ya que aparentemente los dos
equipos tienen todo igual.






.

Respuesta Responder a este mensaje
#10 Miguel Gonzalez
06/08/2004 - 20:47 | Informe spam
Hola Pedro.

Tienes razón con lo del "Recordset" (no me fijé al teclear).

Si que es posible que sea algun problema de Windows, si el problema es
persistente. Te pasa con cualquier otra base de datos?

Se me ocurre que podrías intentar "reparar" la base de datos, por si
ésta está corrupta.

En última instancia, probar reinstalar los SP y revisar el tema de permisos.

Suerte y saludos!
Miguel

Pedro wrote:

Hola Miguel

He probado lo que me dices tanto en el ordenador en el que
funcionaba todo al principio como en el que fallaba.

El resultado es que en el que todo funcionaba, con lo que
me dices sigue funcionando, pero en el otro ahora me sale
otro error, que es el siguiente

Tipo de error:
Microsoft JET Database Engine (0x80004005)
Error no especificado
/portal/prueba/conecta.asp, line 24

Una cosa es que en la linea donde pone
Set rs = Server.CreateObject("ADODB.Connection")
he sustituido Connection por Recordset.

¿No crees que puede ser algo de Windows en vez de el
código?


Muchas gracias


Hola Pedro!

Claro que el coódigo sigue funcionando, la cadena de



conexión es sólo

para que el Servidor Web pueda establecer una conexión a



una base de

datos. En tu caso la forma de conexión (cadenaConn) a la



base de datos

sería:

<%
Dim cadenaConn
Set Conn=Server.CreateObject("ADODB.Connection")
cadenaConn= "Provider=Microsoft.Jet.OLEDB.4.0;Data



Source=" &

Server.MapPath("conexion.mdb")
Conn.Open cadenaConn
Set rs = Server.CreateObject("ADODB.Connection")
rs.Open sqlTxt Conn
' sigue código...
%>

Suponiendo que tu base de datos se



llame "conexion.mdb" y que ésta se

encuentre en el directorio raíz del servidor Web (cosa



poco

recomendable, por otro lado, y que imagino tienes ahí



para hacer pruebas).

Saludos!
Miguel



wrote:


Hola Miguel

Si pongo esa cadena de conexión para base de datos
Access, el resto de código sigue funcionando? ¿Donde
puedo encontrar información ?

Muchisimas gracias!!

Saludos



Hola Pedro.

En servidores de internet ISS 5.0 (W2K Professional) y



versiones


superiores, lo mejor es que utilices la siguiente







cadena

de conexion


para bases de datos MSAccess:

"Provider=Microsoft.Jet.OLEDB.4.0;Data SourceºSE.MDB"

Saludos!
Miguel


pedro wrote:


Tengo una aplicación hecha con asp que me funciona
correctamente en un equipo plataformado con Windows





2000


professional SP4. Al llevarme esa misma aplicación a





otro


equipo, también con Windows 2000 Profesional SP4,





cuando


intento acceder a la base de datos me da un error. He
probado con dsn y sin dsn, y en los dos casos me da





error


(en el segundo ordenador, ya que en el primero





funciona de


las dos formas)

1) En el caso de tener un dsn, el código es el





siguiente:


SQLtxt="SELECT * FROM conexion"

Set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=conexion"

y el error que me aparece es:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] Error





de


disco o de red.
/portal/prueba/DSN/conecta.asp, line 22

siendo la linea 22 rs.Open SQLtxt, "DSN=conexion"

2) Cuando lo hago sin dsn, el código es el siguiente:

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("conexion.mdb"))

set rs=createobject("ADODB.Recordset")
rs.open sqltxt,conn

y el error que me aparece es

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 0x3f8 Thread 0x738 DBC 0x1432fb4





Jet'


del Registro.

Agradezco cualquier ayuda, ya que aparentemente los





dos


equipos tienen todo igual.




.





.




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