Conexión a la base de datos de MS Access 2007 (.accdb) usando pyodbc

Estoy en Win7 x64, usando Python 2.7.1 x64. Estoy portando una aplicación que creé en VC ++ a Python para propósitos educativos.
La aplicación original no tiene problemas para conectarse al archivo de base de datos de formato MS Access 2007 al usar la siguiente cadena de conexión:
OleDbConnection^ conn = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|DB.accdb");
Ahora, cuando bash conectarme al mismo archivo de base de datos (poner en C: \ esta vez) en Python usando pyodbc y la siguiente cadena de enunciado:
conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\DB.accdb;")
, y no importa si conservo el proveedor OLEDB o si uso el Provider=MSDASQL; Como se mencionó aquí ( MS menciona que no está disponible para 64 bits ), sigo recibiendo el siguiente error:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')

¿Qué podría causar este problema?

AGREGAR: He examinado más detenidamente los documentos de Pyodbc y conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c:\\DB.accdb;") probado conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c:\\DB.accdb;") : mismo error. Esto es realmente extraño, ya que pyodbc.dataSources () muestra que tengo este proveedor.

ADD2: Intenté el uso de win32com.client, como aquí , para conectarme mediante el uso de OLE DB, sin éxito. Parece que es imposible, nada funciona.

  1. Intente usar algo como lo siguiente en lugar de usar la misma cadena que la de OLeDb:
    "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\DB.accdb;"

  2. Es posible que no pueda hablar con el controlador directamente desde su aplicación x64 Python: Access 2007 y su controlador ACE son solo de 32 bits.
    En su lugar, obtenga el controlador ACE x64 para Access 2010 , pero tenga cuidado de que si ya tiene instalado Access o el controlador ACE de 32 bits, no funcionará.
    Me quedaría con las versiones de 32 bits de Python y del controlador ACE si espera que su aplicación se ejecute en otros sistemas: no se recomienda mezclar las versiones x64 y x86 de herramientas y controladores de Office, probablemente terminará con muchos de problemas si lo haces.

  3. Si el problema no es con la mezcla de 32/64 bits, entonces tal vez esta pregunta tenga la respuesta que busca .