Solución:
Dependiendo de lo que quiera hacer, pyodbc podría ser lo que esté buscando.
import pyodbc
def mdb_connect(db_file, user="admin", password = '', old_driver=False):
driver_ver="*.mdb"
if not old_driver:
driver_ver += ', *.accdb'
odbc_conn_str = ('DRIVER={Microsoft Access Driver (%s)}'
';DBQ=%s;UID=%s;PWD=%s' %
(driver_ver, db_file, user, password))
return pyodbc.connect(odbc_conn_str)
conn = mdb_connect(r'''C:x.mdb''') # only absolute paths!
Nota: puede descargar el nuevo controlador de libre distribución, si no tiene MS Office instalado.
No creo que win32 sea difícil. Intente usar su módulo odbc. Ejemplo de código que funciona con bases de datos ODBC y PostgreSQL:
import odbc
def get_pg_ver(db_alias):
connection = odbc.odbc(db_alias)
try:
cursor = connection.cursor()
cursor.execute('SELECT version()')
for row in cursor.fetchall():
print row[0]
finally:
connection.close()
get_pg_ver('odbc_name/user/passwd')
Esto es muy similar para todos los controladores de base de datos que utilicé en Python y Jython (trabajo con PostgreSQL, Oracle e Informix).
Puede utilizar pypyodbc para crear fácilmente un archivo Access MDB vacío en la plataforma win32 y también compactar los archivos Access MDB existentes.
Puede ser tan fácil como:
import pypyodbc
pypyodbc.win_create_mdb( "D:\Your_MDB_file_path.mdb" )
Además, como una biblioteca ODBC de dbi 2.0, pypyodbc es altamente compatible con pyodbc, puede realizar consultas de bases de datos SQL como SELECT, INSERT, UPDATE con la biblioteca.
Aquí está el tutorial completo sobre el soporte de acceso de pypyodbc.
Descargo de responsabilidad: soy el desarrollador de pypyodbc.