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

Accesando una base de datos MS Access por una pagina asp y un programa client/server

Estas en el tema de Accesando una base de datos MS Access por una pagina asp y un programa client/server en el foro de ASP Clásico en Foros del Web. Saludos a todos, Tengo el siguiente problema: Ejecuto una aplicacion cliente/servidor para registrar informacion en una base de datos MS Access, y si la tengo ...
  #1 (permalink)  
Antiguo 31/03/2005, 21:17
 
Fecha de Ingreso: marzo-2005
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Accesando una base de datos MS Access por una pagina asp y un programa client/server

Saludos a todos,

Tengo el siguiente problema:

Ejecuto una aplicacion cliente/servidor para registrar informacion en una base de datos MS Access, y si la tengo abierta cuando trato de consultar informacion de la misma a traves del portal web me aparece el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Could not use '(unknown)'; file already in use.

Hay alguna manera de solvertar este problema o tengo que migrar a alguna otra base de datos como SQL Server desktop engine ?

Gracias por su tiempo y su ayuda.
  #2 (permalink)  
Antiguo 01/04/2005, 06:12
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
mnmnmnmnmn me parece, creo... no estoy seguro..pero creo que cuando una base de datos access esta abierta por elprograma access, es imposible accederla a traves de una conexion.

yo la verdad es que a mi me paso esto hace mucho tiempo, pero nunca probé mas tipos de conexiones para ver si es que se podia.

pero creo que es imposible, por una cuestion de integridad de datos y tiempos de bloqueo.

alomejor algun genio de aca tiene la solucion, pero hasta donde yo se, eso no se puede hacer.
  #3 (permalink)  
Antiguo 01/04/2005, 07:56
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 4 meses
Puntos: 0
Perdón Muzztein que me oponga, pero creo que hacer se puede hacer.
Varias veces me pasó y en realidad nunca establecí claramente la condicion. Elejemplo en donde siempre me pasaba era mientras estas desarrollando y tenes el mdb abierto para mirar algo. Pese a siempre programar en la misma maquina hay sitios donde podia mantener el mdb abierto y otros donde me obligaba a cerrarlo apra poder correr el ASP.

Lo que yo creo es que viene del lado del Connection String (si usas, jet o u oledeb).
yo creo que me pasa a mi xq nunca he escrito un connstring, sino que siempre me lo robo de la web de algun lado. Segun el que me robe, anda o no.

El sitio en le que estoy trabajando ahora usa este connection string y puedo abrirlo tranquilamente mientras lo ejecuto en asp.
Si mi teoria fuera cierta, deberia ser diferente al tuyo.

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Datos/BASE.mdb") & ";User Id=admin;Password=;"

Sé que no te estoy arreglando nada, pero seguile peleando x q si se puede hacer.

Mucha suerte
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet

Última edición por javopereira; 01/04/2005 a las 07:58
  #4 (permalink)  
Antiguo 01/04/2005, 10:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Muchas gracias , aprecio su ayuda.

De hecho tengo un front-end con visual basic y hago la connection por medio de ODCB a la base de datos Access.

El portal web se hace tambien conexion via ODBC, y especifico el connection.mode para que solo sea lectura, pero aun asi presenta el error.

Este es el codigo de conexion :

Dim Conexion

set conexion= server.createobject("adodb.connection")

conexion.open "DSN=nombre_dns"

Que mas podria hacer para solucionar este problema ??

Gracias
  #5 (permalink)  
Antiguo 01/04/2005, 10:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Efectivamente, si se puede (al menos de alguna manera) tener la BD abierta en el programa Access miebtras se accede a ella mediante ASP. De hecho, yo trabajo así a la hora de escribir mis códigos, revisando los nombres de campos en la BD que tengo abierta, y probando la ejecución en el navegador (con la tabla cerrada o en vista de datos.. nunca en diseño porque así sí que no te deja).

Lo que algunas veces me ocurre es que algún compañero de trabajo, desde otra PC, abre la BD en cuestión y lo hace en modo exclusivo... entonces ASP ya no puede acceder a los datos (ahí le pido, muy diplomáticamente, que se deje de joder y me permita trabajar tranquilo). Mi Access por defecto abre en modo no-exlusivo y creo que hay una manera de especificar que abra en ese modo por algún lado (no recuerdo en dónde)

Otro de los fallos que detecté es con bases de datos con tablas adjuntas, pero con este error no llegué a ninguna conclusión.

Igualmente puede ser, además, lo que javopereira comenta del string de conexión.
Entonces serían varios facores los que pueden ocacionar el error.

Saludos
__________________
...___...
  #6 (permalink)  
Antiguo 01/04/2005, 10:42
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
Mi Access por defecto abre en modo no-exlusivo y creo que hay una manera de especificar que abra en ese modo por algún lado (no recuerdo en dónde)
aahh, pues fácil, en el botón de "abrir", hay una persiana que si se abre se puede especificar el modo de apertura.

Por lo del error o no, pues según he constatado en el pasado, el problema biene cuando NO utilizas un probeedor OleDb. La cadena que pusieron algunos post arriba, es, efectivamente OleDB. Si hacen conexiones vía DNS o DNSLess tendrán errores de ese tipo.
  #7 (permalink)  
Antiguo 02/04/2005, 08:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Gracias, este es un caso cerrado

Gracias a todos por su ayuda, finalmente se resolvio el problema, lo unico que hice fue ulitizar OLEDB para hacer la conexion:

conexion.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\inetpub\wwwroot\auditfu\auditoria.mdb" & ";User Id=admin;Password=;"

conexion.open
  #8 (permalink)  
Antiguo 02/04/2005, 08:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Correccion ! No Funciono !

Estimados, me comi la liebre antes de cazarla. Pense que tenia abierta la aplicacion cliente-servidor cuando probe el portal web y no fue asi. Sigue sin funcionar.

Me aparece el mismo error : "FILE ALREADY IN USE" por lo que empiezo a creer que tendre que migrar a otra base de datos.

Gracias de todos modos !
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 03:06.