Conexión sin DSN con PHP ODBC usando el controlador MDBTools

Estoy intentando leer desde una base de datos de Access usandoMDBTools controladores para ejecutar unodbc_connect en Ubuntu 11.10. Está funcionando bien cuando se utiliza la configuración de DSN en/etc/odbc.ini.

A continuación se muestran los contenidos de/etc/odbc.ini:

<code>[logindb]
Description = Microsoft Access Try DB
Driver = MDBToolsODBC
Database = /home/folder1/TestDb.mdb
Servername = localhost
</code>

El atributo Driver enodbc.ini referenciasMDBToolsODBC, así que, aquí está mi configuración odbc en/etc/odbcinst.ini:

<code>[MDBToolsODBC]
Description = MDB Tools ODBC
Driver = /usr/lib/libmdbodbc.so.0
Setup =
FileUsage =
CPTimeout =
CPReuse =
</code>

Mi problema es, al usar$conn = odbc_connect('logindb','','');, Tengo que usar el valor codificado para la ubicación de la base de datos. Idealmente, me gustaría especificar el primer parámetro deodbc_connect utilizando una conexión sin DSN, de modo que mi archivo de base de datos pueda ser una variable (se leerá desde diferentes dbs). Algo como:

<code>if ($cond1) {
  $db = "/home/folder1/TestDb.mdb";
} else {
  $db = "/home/folder1/TestDb2.mdb";
}

$conn = odbc_connect("odbc:Driver={MDBToolsODBC};Dbq=$db",'','');
</code>

También lo he intentado sin el prefijo odbc: pero no funcionó. ¿Puede alguien decirme por qué la especificación del DSN funciona, pero cuando se trata de especificarlo sobre la marcha usando lo que parecen los mismos atributos, no funciona? Estoy pensando que tiene que ver con los parámetros y contenidos del primer parámetro en la conexión sin DSN. Como siempre, cualquier ayuda es muy apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta