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

Problema al acceder a la base de datos, situada en una carpeta diferente

Estas en el tema de Problema al acceder a la base de datos, situada en una carpeta diferente en el foro de ASP Clásico en Foros del Web. Hola, Acabo de comenzar con mi página. Desde la página unicial (index) no tengo ningún problema para acceder a la base de datos (situada en ...
  #1 (permalink)  
Antiguo 31/01/2010, 09:53
 
Fecha de Ingreso: enero-2010
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 9
Problema al acceder a la base de datos, situada en una carpeta diferente

Hola,

Acabo de comenzar con mi página. Desde la página unicial (index) no tengo ningún problema para acceder a la base de datos (situada en la misma carpeta que el propio index) pero cuando me muevo a otra página, situada en una carpeta inferior, no consigo acceder a la base de datos.

El código que utilizo desde el index es:
oBBDD.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("NombreBBDD.mdb"))
El código que intento utilizar desde la otra página es:
oBBDD.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../NombreBBDD.mdb"))

He probado con ../ ..\ y el mensaje de error es el mismo:
Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

The '..' characters are not allowed in the Path parameter for the MapPath method.

He estado mirando por ahí, y he leído que es posible que el sitio donde tengo alojada la página, no permita rutas relativas y tenga que usar absolutas, así que probé lo siguiente:

oBBDD.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("http://users6.jabry.com/user/NombreBBDD.mdb"))

El error pasa a ser el siguiente:
Server.MapPath() error 'ASP 0173 : 80004005'

Invalid Path Character

An invalid character was specified in the Path parameter for the MapPath method.


Alguien me sabe ayudar? Gracias de antemano.
  #2 (permalink)  
Antiguo 31/01/2010, 10:43
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 9 meses
Puntos: 41
Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Prueba asi...
Server.MapPath("\carpeta\" & "basededatos.mdb")
No estoy muy seguro..

Saludos, Jose
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #3 (permalink)  
Antiguo 31/01/2010, 18:35
 
Fecha de Ingreso: enero-2010
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 9
Pregunta Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Hola Jose,

Como he dicho, tengo la base de datos en el mismo directorio/carpeta que el index, así que... que carpeta debería poner entonces ahí?

Cabe la posibilidad, de que en lugar de poner ../ ó ..\ haya que escribir algún comando de ASP que sustituya a ese ".."?
  #4 (permalink)  
Antiguo 01/02/2010, 07:15
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 9 meses
Puntos: 41
Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Si pones Server.MapPath este te resolvera hasta el directorio raiz de tu web, si le añades "\carpeta\" sera Directorio raiz+carpeta:

Por ejemplo
Server.MapPath te dara esto
c:/inetpub/wwwroot/tuweb/
esto Server.MapPath("\carpeta\" & "basededatos.mdb") te dara
c:/inetpub/wwwroot/tuweb/carpeta/basededatos.mdb

Pero tu quieres c:/inetpub/wwwroot/tuweb/basededatos.mdb entonces sera
Server.MapPath("basededatos.mdb")

Ante la duda, haz un Response.write (Server.MapPath()) a ver que ruta te da.

Ya me cuentas.

Saludos, Jose
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras

Última edición por Wasper; 01/02/2010 a las 12:19
  #5 (permalink)  
Antiguo 02/02/2010, 16:32
 
Fecha de Ingreso: enero-2010
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 9
Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Escribiendo esto:
Response.write (Server.MapPath("CualquierCosa"))

Me devuelve esto:
D:\content\users6\NombreDeMiUsuario\carpeta\Cualqu ierCosa

Pero yo quiero acceder a NombreDeMiUsuario que es donde tengo la base de datos, e incluso aquí en el Response.Write me da error si le pongo ../ ó ..\
  #6 (permalink)  
Antiguo 03/02/2010, 11:20
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Código:
Response.write (Server.MapPath("\NombreBBDD.mdb"))
Te faltó una barra.
__________________
...___...
  #7 (permalink)  
Antiguo 03/02/2010, 14:48
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 15 años, 7 meses
Puntos: 2
Pregunta Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Pregunta, ya checaste los permisos que tienes sobre la base de datos, ya que yo me tope con un problema similar, y debido a los permisos que tenis no podía accesar ala base de datos.

PS.
perdón por mi ignorancia pero ase tiempo que ya no programo XD
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores
  #8 (permalink)  
Antiguo 04/02/2010, 07:28
 
Fecha de Ingreso: enero-2010
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 9
De acuerdo Respuesta: Problema al acceder a la base de datos, situada en una carpeta diferente

Muchas gracias a todos, finalmente conseguí resolver el problema, no estoy seguro de si me estábais diciendo de hacer eso y no os entendí. Os detallo como lo he conseguido:

la ruta que os he dado era esta:
D:\content\users6\NombreDeMiUsuario\CualquierCosa

Bien, pues para hacer referencia a la carpeta raiz (No me admite los ..) tuve que hacerlo desde NombreDeMiUsuario
\NombreDeMiUsuario\CualquierCosa

Muchas gracias de nuevo a todos, seguiré preguntandoos cosillas ahora que puedo avanzar :S

Etiquetas: acceder, diferente, carpetas
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 20:43.