Foros del Web » Programando para Internet » ASP Clásico »

Access: ahora si, ahora no...

Estas en el tema de Access: ahora si, ahora no... en el foro de ASP Clásico en Foros del Web. Hola a tod@s. De la página asptutor.com me copie la aplicacion de Encuestas en asp. Son cuatro elementos: Encuesta.asp : hace un simple "select * ...
  #1 (permalink)  
Antiguo 27/06/2006, 14:34
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Access: ahora si, ahora no... (SOLUCIONADO¡¡¡, ver al final)

Hola a tod@s.


De la página asptutor.com me copie la aplicacion de Encuestas en asp.
Son cuatro elementos:

Encuesta.asp: hace un simple "select * from bd where activa=true". Espera el voto del visitante con un form
verencuesta.asp: recibe el form de la anterior, updata la bd y enseña los resultados acumulados
historico.asp: simple "select * from bd"
crearencuesta.asp: updata la bd con los datos de una nueva encuesta, para que el Admin de la bd la pueda mantener online.

Todas las asp terminan cerrando la conexion y haciendo el nothing.


Copie todo, hice la Bd en Access (como está en el ejemplo de asptutor.com), y funciona...

Funciona en mi portatil con XP Profesional y el IIS
Funciona en el pc casero con XP Home Edition y un server de prueba (babyweb)...

pero NO Funciona al instalarlo en el W2000Server del trabajo (que es dónde debería de funcionar...¡).

En este servidor hay otras aplicaciones que van bien (ninguna en Access, sino en el Oracle de la empresa) y es el que se usa para que corra la intranet (donde deberían verse las encuestas...). Esta nueva aplicación 'Encuestas' está configurada en el IIS igual que todas las demas...

He hecho todo lo -mucho- que he aprendido estos días de búsqueda por internet:
Dar todos los permisos al USR_invitado, incluso a las carpetas de las variables de entorno TMP y TEMP.

La cadena de conexion es Connae.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Tencuestas.mdb"))

SINTOMAS:
  • Si lanzo la encuesta.asp, funciona correctamente: enseña la encuesta activa.(o sea, que el Open funciona...)
  • No funciona el verencuesta.asp (que se abre en pag nueva al hacer submit)
  • Si refresco encuesta.asp, casca...
  • Si espero unos minutos y refresco... funciona
  • Lo mismo pasa con historico.asp: si lo ejecuto el primero, funciona. Si lo hago desde encuesta.asp, casca...
Van funcioanando 'alternativamente' los dos asp que hacen un "select *" (después de esperar unos minutos entre uno y otro), pero no funcionan los dos que hacen un update.

Todo indica algo relativo al bloqueo de registros en Access... ¿o no? Pero no se qué...

La configuracion del Access es la misma en el W2000Server que en mi Xp...

Y por último, el error de asp que señala el navegador es en todos los casos:

"Microsoft OLE DB Provider for ODBC Drivers (0x80004005). Error no definido"



Ideas?

Gracias por contestar

Última edición por I_Can; 30/06/2006 a las 08:25 Razón: actualizar solución
  #2 (permalink)  
Antiguo 27/06/2006, 15:24
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
pues al parecer no esta instalado el driver de access, supongo, aunque sin saber que debe estar instalado el office en ese server o el driver para que funcione
  #3 (permalink)  
Antiguo 27/06/2006, 15:41
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Pregunta

En el W2000 Server está instalado el MS Office completo. De hecho, ya te comento que a veces si que funciona el acceso a la bd y enseña el contenido de la Select...
  #4 (permalink)  
Antiguo 28/06/2006, 00:56
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Regularmente ese tipo de error en Access indica que necesitas pasarle el modo en que te conectas a ella de manera explícita, tu problema debería solucionarse con un:

'Lectura Escritura
ObjConn.Mode = 3
ObjConn.Open ConnectionString

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 28/06/2006, 02:25
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Prueba una cosa: lanza la primera página, la que funciona e, inmediatamente, ve a la carpeta que contiene la BD y mira a ver si hay un archivo de bloqueo (Tencuestas.ldb). Ahí tienes tres opciones:
-Si está (que no va a estar), pasa la BD a MySQL.
-Si no está (seguro que no está), pasa la BD a MySQL.
-Si tienes permisos de administrador en el servidor de Oracle, pasa la BD a Oracle. Y si no tienes esos permisos, pasa la BD a MySQL.

En definitiva. Pásala a MySQL (aunque el Master U_G te haya dado la solución)

Saludos
(P.D. sólo estoy contento porque he acertado la porra del partido de España, no por el resultado. Nos merecíamos más)
  #6 (permalink)  
Antiguo 28/06/2006, 10:41
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Seguimos Igual...

Gracias por vuestro interes... pero seguimos igual

He puesto lo Mode=3, pero sigue dando el mismo error. El error lo genera en la linea del asp donde está el 'conexion.open'.

Efectivamente, cuando consigo que uno de los asp lean la bd, en la carpeta correspondiente no aparece el archivo de bloqueo...

No puedo meter un nuevo tipo de base de datos... mi autorización no llega a tanto y los del Dpto de Sistemas no están por la labor...

He hecho otra cosa, que tampooco ha funcionado: separar la bd de la carpeta en la que se ejecutan los asp (fuera incluso de la aplicación dada de alta en el IIS): sigue igual: hace la select, pero nada mas...

Alguna otra idea???

gracias por ayudar
  #7 (permalink)  
Antiguo 28/06/2006, 10:45
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
sigue igual: hace la select, pero nada mas...
Ok, esto quiere decir que el directorio que contiene la base de datos, o la base de datos misma, no tiene los permisos suficientes para el usuario anónimo del IIS, necesitarás asignarle permisos de lectura/escritura, además de cerciorarte que este archivo no tenga propiedades de solo lectura.

Con esto debería estar bien.


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 28/06/2006, 11:03
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Por extraño que parezca todo eso ya está hecho, y sigue igual...

La cuenta para el usuario anonimo de internet tiene todos los permisos ('control total') tanto en la carpeta de la aplicación como en la crapeta donde he colocado la BD. Y la base de datos (Tencuesta.mdb) no está marcada como solo lectura (y adermas, aparece expresamente el usuario anonimo con permiso de control total, 'heredado' de la carpeta)

sl2
  #9 (permalink)  
Antiguo 30/06/2006, 08:24
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
De acuerdo Solución¡¡¡

Al final, la configuración del w2000Server era lo que estaba ¿mal?

No se si estaba mal, pero en realidad es lo que estaba generando el problema:

En el directorio 'encuestas' (donde se ubica la aplicación asp) existían los siguientes grupos de usuarios:


* Grupo Administradores: Todos los permisos (normal, ¿no?)
* Usuario anónimo de Internet : Todos los permisos (es el que di de alta, al verlo en los foros...)
* Todos los usuarios: permisos de lectura (es el grupo de usuarios que por defecto coloca el w2000 en todos los directorios).


Aparentemente todo ok... Sin embargo, parece que al estar el IUSR_anonimo también dentro del grupo 'TODOS' , se estaba generando un conflicto de permisos...

Se ha solucionado -en principio- al eliminar el grupo 'TODOS' y dejando sólo a Administradores y al IUSR_anonimo.

Gracias a esto ha desaparecido el error asp "(0x80004005). Error no definido".

Ha habido otro problemilla posterior: al abrir la nueva pantalla para enseñar el resultado del voto pedía el login en el dominio... La solución: entrar al IIS y en la pestaña 'Seguridad de Directorios' desactivar lo de 'gestionar contraseñas de windows': claro, al encargarle al IIS que gestionara a los usuarios de esta aplicación asp entraba en conflicto con el dominio (ya que para ver la intranet has tenido que hacer login el dominio...).

Ya todo funciona OK ¡¡¡

El Lunes saldremos en la intranet con nuestra primera Encuesta: ¿Quien ganará el Mundial de fútbol 2006?. Las opciones las daremos de alta el Domingo...

Gracias a todos por la ayuda¡¡¡
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:37.