Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2009, 11:00
juanfuentes
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años
Puntos: 6
Pregunta Error conectando con fichero MDB de Access (dsn-less)

Hola!

Estoy intentando conectarme con una base de datos Access (fichero .mdb) y no hay manera. El sistema es un Fedora Core 10. He instalado la librería unixODBC para poder acceder por ODBC a la base de datos y también he activado el soporte ODBC en el PHP.

Así, el PHP me encuentra correctamente la función odbc_connect(), por tanto descarto, en principio, problemas de librerías.

La conexión ha de ser DSN-less porque, como ya he dicho, se trata de un sistema linux, no windows. De momento, el fichero MDB lo he puesto en el mismo directorio que el script PHP: sólo estoy intentando que funcione la conexión.

Pues lo he probado de múltiples formas, estoy buscando en google (he encontrado algunos tópicos de este mismo foro, pero están todos "caducados"). El código que utilizo para probar la conexión es este:

Código php:
Ver original
  1. $mdbFilename = realpath('fichero.MDB');
  2. $user = '';
  3. $password = '';
  4. $odbc = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename;", '', '');
  5. if (!$odbc) {
  6.     echo "ERROR";
  7. } else {
  8.     echo "ODBC Connection OK!!!!";
  9.     odbc_close($odbc);
  10. }

NOTA: La extensión ".MDB" está en mayúscula porque así se llama el fichero. No es un error ;)

El mensaje de error es el siguiente:

18:43:18 [WARNING] /test-odbc/test1.php(17): odbc_connect() [function.odbc-connect]: SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect

Eso de "Data source name not found" no lo entiendo... En teoría estoy utilizando una conexión dsn-less. El único driver que he encontrado para access es el que aparece "Driver={Microsoft Access Driver (*.mdb)}".

¿Alguna idea?

Gracias ;)