¿Confundido con la creación de una conexión ODBC, aparentemente tengo dos archivos odbcad32.exe separados?

¿Confundido con la creación de una conexión ODBC, aparentemente tengo dos archivos odbcad32.exe separados?

Muy bien, esta es la primera vez que trabajo con esto, así que perdónenme si soy un poco confuso o vago.

Tengo un servidor con Windows Server 2008 Standard sin Hyper-v (6.0, Build 6002). Estoy ejecutando un pequeño sitio web desde este servidor y uso una base de datos de Microsoft Access para almacenar cierta información que ingresa a través del sitio web. Estoy seguro de que el PHP que escribí para abrir la conexión ODBC es correcto, ya que funcionó para mí cuando creé este sitio web en un entorno de prueba en una computadora portátil.

Mi problema actual ahora es que parece que tengo dos odbcad32.exe diferentes, y uno no parece tener un controlador para un archivo .accdb, y solo un archivo .mdb. El otro tiene un controlador para ambos.

El primero del que hablo tiene un controlador titulado 'Controlador de Microsoft Access (.mdb)', el segundo tiene un controlador titulado 'Controlador de Microsoft Access (.mdb, .accdb)'. Accedo al primer odbcad32.exe yendo a C:\Windows\SysWOW64\odbcad32.exe, y luego al que parece tener el controlador que necesito, voy a Panel de control->Herramientas administrativas->Fuentes de datos (ODBC) y simplemente cree una nueva conexión en la pestaña DNS del sistema.

Siempre que hago cambios al que accedo a través del Panel de control, no veo cambios, sin embargo, si uso el archivo odbcad32.exe en SysWOW64, sí obtengo algunos cambios en los errores que me regresan. La principal diferencia que noté es que cuando configuré una conexión ODBC con el método del Panel de control, decía que simplemente no podía encontrar la conexión ODBC, pero cuando hice una conexión .mdb en SysWOW64 (y señalé un archivo . archivo accdb) dice

Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt.

Lo que hace que parezca que es esta versión de odbcad32.exe en SySWOW64 la que se reconoce como la "correcta". ¿Hay alguna forma de arreglar esto?

Intenté ser lo más completo posible, pero si me confundí o omití algo, házmelo saber.

Respuesta1

El ejecutable en system32 es la versión de 64 bits, mientras que la copia en syswow64 es la versión de 64 bits. Cada uno funciona con diferentes conjuntos de controladores según la arquitectura del ejecutable que esté ejecutando.

La versión que desea ejecutar depende de la arquitectura de los ejecutables que necesitan cargar los controladores.

La mayoría de las veces, PHP se ejecuta como un proceso de 32 bits para CGI, pero deberá verificar su entorno y asegurarse de que estén instalados los controladores adecuados.

información relacionada