Próbuję użyć pyodbc, aby uzyskać dostęp do pliku .mdb w systemie Ubuntu. Mam moje postępy oparte dotychczas na ten linkUżywanie bazy danych programu Access (.mdb) z Pythonem na Ubuntu
mam zainstalowanego pyodbc, unixodbc i unixodbc-dev
Mój kod wygląda następująco:
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()
kiedy uruchom, otrzymuję ten komunikat o błędzie:
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)')
Czy ktoś h ave jakieś pomysły? Każda pomoc będzie bardzo doceniana.
Dziękujemy!
Nie znam systemu Linux, ale w systemie Windows ten błąd oznaczałby, że nie skonfigurowałeś połączenia ODBC w Panelu sterowania -> Narzędzia administracyjne -> Połączenia ODBC. I przekazałbyś nazwę źródła danych (DNS) w połączeniu, a nie nazwę pliku (który znajduje się w DNS). – HardCode
Myślę, że ponieważ używam .mdb to wszystko jest lokalne, więc nie potrzebuję DNS. Czy to brzmi dobrze? Opieram go na przykładzie u góry tej strony https://code.google.com/p/pyodbc/wiki/ConnectionStrings – mythander889
Myślę, że nadal musisz zainstalować sterownik ODBC dla MS Access. Easysoft sprzedaje jeden. http://www.easysoft.com/products/data_access/odbc-access-driver/index.html Podobno mdbtools zawiera jeden, ale jest opisany jako ograniczony. http://mdbtools.sourceforge.net/install/x90.htm – HansUp