Acceso a base de datos access 97 desde linux
Chema Cortes
pych3m4 en gmail.com
Mar Abr 22 03:22:19 CEST 2008
El 2008/4/21 damufo <damufo en gmail.com> escribió:
> Por fin he probado la solución indicada pero no he sido capaz de
> conseguirlo.
> He instalado unixODBC, mbdtools tambien otro paquete para tener el
> /usr/lib/libmdbodbc.so, despues he configurado el unixodbc aunque no se si
> lo he hecho bien. Mi codigo es este junto al error. Gracias.
>
>
> import adodb
> conn = adodb.NewADOConnection('access') # mxodbc required
> dsn = "Driver={Microsoft Access Driver
> (*.mdb)};DBQ=//home//damufo//prueba.MDB"
> conn.connect(dsn)
>
>
> Traceback (most recent call last):
> File "proba.py", line 6, in <module>
> conn.connect(dsn)
> AttributeError: 'NoneType' object has no attribute 'connect'
>
> tambien he probado
> #dsn = ("DRIVER={/usr/lib/libmdbodbc.so};DBQ=//home//damufo//prueba.MDB");
Creo que este artículo se centra más en php que a python. El DSN que
pone está pillado de la documentación del adodb-python, que es un
ejemplo para ODBC windows, no para unixODBC. Además de ésto, hay que
decir que el módulo adodb-python requiere mxODBC, un módulo comercial
que, supongo yo, no has comprado (para php no es necesario).
Si quieres una alternativa que sea libre y gratuita te aconsejo que
pruebes con hk_classes (http://hk-classes.sourceforge.net) que incluye
API para python. Funciona con varios drivers, entre los que se incluye
mdbtools y unixodbc, siendo sólo necesario el primero para acceder a
los ficheros de access. Un ejemplo rápido:
import hk_classes
dr=hk_classes.hk_drivermanager()
con=dr.new_connection("mdb")
con.connect()
db=con.new_database("/ruta/al/fichero.mdb")
print db.tablelist()
tab=db.new_table("tabla")
tab.enable()
print tab.show_currentrow()
La pega es que la documentación deja mucho qué desear; lo bueno es que
puedes combinar el paquete hk_classes con el interface de knoda
scriptándolo todo con python.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es