Estoy tratando de usar pyodbc para acceder a .mdb en Ubuntu. He basado mi progreso hasta ahora en este enlaceUsando una base de datos de Access (.mdb) con Python en Ubuntu
He instalado pyodbc, unixodbc y unixodbc-dev
Mi código es el siguiente:
import csv
import pyodbc
MDB = 'URY.mdb'
DRV ='Microsoft Access Driver (*.mdb)'
PWD = 'pass'
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
curs = conn.cursor()
Cuando ejecutarlo, recibo este mensaje de error:
Traceback (most recent call last):
File "mdbscraper.py", line 8, in <module>
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
¿Alguien h ¿Alguna idea? Cualquier ayuda sería muy apreciada
¡Gracias!
No estoy familiarizado con Linux, pero en Windows, este error significaría que no configuró una conexión ODBC en el Panel de control -> Herramientas administrativas -> Conexiones ODBC. Y pasaría el Nombre del origen de datos (DNS) en la conexión, no el nombre del archivo (que está en el DNS). – HardCode
Creo que porque estoy usando .mdb es todo local, por lo que no necesito un DNS. Suena bien? Lo baso en el ejemplo que se encuentra en la parte superior de esta página https://code.google.com/p/pyodbc/wiki/ConnectionStrings – mythander889
Creo que aún necesita instalar un controlador ODBC para MS Access. Easysoft vende uno. http://www.easysoft.com/products/data_access/odbc-access-driver/index.html Supuestamente mdbtools incluye uno pero se describe como limitado. http://mdbtools.sourceforge.net/install/x90.htm – HansUp