Foros del Web » Programando para Internet » PHP »

Conexión a Access

Estas en el tema de Conexión a Access en el foro de PHP en Foros del Web. Hola a todos. Lo primero de todo, os deseo una feliz navidad y una buena salida y entrada de año. Como aunque sea navidad seguimos ...
  #1 (permalink)  
Antiguo 19/12/2007, 12:10
 
Fecha de Ingreso: agosto-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Conexión a Access

Hola a todos.

Lo primero de todo, os deseo una feliz navidad y una buena salida y entrada de año.

Como aunque sea navidad seguimos currando, ahora viene la consulta:

Estoy intentando conectarme por primera vez a una base de datos de Access que tengo en un servidor de la red. La conexión la estoy haciendo desde un servidor web de pruebas con Windows XP. He creado un origen de datos (DSN) en el servidor web que apunta a la BBDD de Access. Para ello he montado la unidad de disco y el acceso quedaría así: "Y:\basedatos.mdb". A través del explorador de Windows llego y abro la base sin problemas, pero desde PHP no lo consigo. No deja de salirme este error:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Controlador ODBC Microsoft Access] '(desconocido)' no es una ruta de acceso válida. Asegúrese de que la ruta está escrita correctamente y que está conectado al servidor donde se encuentra el archivo., SQL state S1009 in SQLConnect in c:\dir\dir\prueba.php on line 3
Fallo de conexión:

He probado a copiar la BBDD a otro servidor por si pudiera ser un problema de bloqueo, pues ya hay una aplicación usando la base, pero he creado otro DSN y me sigue saliendo lo mismo.

Lo que sí me ha funcionado es llevarme la BBDD al disco local del servidor web. He vuelto a cambiar el DSN y me ha funcionado perfectamente.

El código que uso para probar la conexión es este:

Código PHP:
<?php

$conn
=odbc_connect('origen','','');
if (!
$conn)
  {exit(
"Fallo de conexión: " $conn);}
odbc_close($conn);
?>
¿Alguien sabe a qué se puede deber este error?

Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 19/12/2007, 12:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Conexión a Access

Prueba en tu panel de ODBC si puede hacer la conexión exitosamente, si tu base de datos esta en otro servidor configura tu DSN para que se comunique al otro servidor (no lo montes en un Share).

Saludos.
  #3 (permalink)  
Antiguo 20/12/2007, 04:40
 
Fecha de Ingreso: agosto-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Conexión a Access

Gracias por la respuesta GatorV, pero la verdad es que no la entiendo

¿Mi panel de ODBC es el del servidor web, no? ¿Cómo hago la prueba en mi panel de ODBC? En la configuración de ODBC no veo nada con lo que pueda probar.... ¿Cómo configuro un DSN para que se comunique con otro servidor? Cuando creo el DSN, la única manera que encuentro de seleccionar la BBDD del otro servidor es montando la unidad del servidor remoto.

He seguido mirando y he encontrado esto:

http://www.desarrolloweb.com/faq/114.php

¿Es cierto? ¿Hay que crear una BBDD en local con las tablas vinculadas a la otra? ¿Es la única manera?

Muchas gracias y un saludo
  #4 (permalink)  
Antiguo 20/12/2007, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Conexión a Access

Te recomiendo hagas tu pregunta en el foro de Ofimatica, Access no es una base de datos completa como SQL Server y tiene varias limitaciones.

Saludos.
  #5 (permalink)  
Antiguo 04/02/2008, 08:27
 
Fecha de Ingreso: agosto-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Conexión a Access

Hola de nuevo,

Voy a recuperar este tema porque he tenido que volver con él y no lo he podido solucionar.

Como comentaba más arriba, encontré una posible solución, que consistía en crear una base en local con las tablas vinculadas. Bien, pues he cogido una base de datos y he vinculado algunas tablas. Dentro del Access funciona perfectamente con los dos tipos de tablas (vinculadas y no), pero desde php no puedo hacer una consulta a una tabla vinculada y sí las otras.

La pregunta es ¿alguien sabe si es posible conectarse con una base de datos de access en un servidor diferente al web?

Muchas gracias y un saludo
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 17:18.