Using Access Database (.mdb) with Python on Ubuntu

I am trying to use pyodbc to access .mdb on Ubuntu. At the moment, I based my progress on this link.

Request MS Access Failure

I installed pyodbc, unixodbc and unixodbc-dev

My code is as follows:

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()

When I run it, I get the following error message:

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)')

Does anyone have any ideas? Any help would be much appreciated

Thank!

+5
source share
2 answers

From what I know, this driver "Microsoft Access Driver (* .mdb)" is only available on the Microsoft host, since you are on ubuntu, it will not work.

+3
source
import pyodbc 
DBfile = '/data/MSAccess/Music_Library.mdb'
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile)
cursor = conn.cursor()
SQL = 'SELECT Artist, AlbumName FROM RecordCollection ORDER BY Year;'

for row in cursor.execute(SQL): # cursors are iterable
print row.Artist, row.AlbumName

cursor.close()
conn.close()

There is an official example .. use ...

0
source

All Articles