Вопрос по python, ms-access, ubuntu, pyodbc – Использование базы данных Access (.mdb) с Python в Ubuntu [дубликаты]

6

На этот вопрос уже есть ответ:

Работа с базой данных Access в Python на платформе не Windows (Linux или Mac) 4 ответа

Я пытаюсь использовать pyodbc для доступа к .mdb в Ubuntu. Я основал свой прогресс на этой ссылке

Query дает сбой MS Access

Я установил pyodbc, unixodbc и unixodbc-dev

Мой код выглядит так:

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

При запуске я получаю сообщение об ошибке:

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

У кого-нибудь есть какие-либо идеи? Любая помощь будет очень высоко ценитс

Спасибо

Спасибо. Я нашел нужный драйвер на их сайте в качестве tar. Ты знаешь, где мне нужно это поставить? mythander889
Я не знаком с Linux, но в Windows эта ошибка будет означать, что вы не установили соединение ODBC в Панели управления -> Администрирование -> Соединения ODBC. И вы должны передать имя источника данных (DNS) в соединении, а не имя файла (это в DNS). HardCode
Я никогда не пробовал. Смотрите их руководство по началу работы. Easysoft.com / Продукты / data_access / ODBC-доступа водителя / ... HansUp
Я думаю, потому что я использую .mdb, все это локально, поэтому мне не нужен DNS. Это звучит правильно? Я основываюсь на примере в верхней части этой страниц Code.google.com / р / pyodbc / вики / ConnectionStrings mythander889
Я думаю, вам все еще нужно установить драйвер ODBC для MS Access. Easysoft продает один. Easysoft.com / Продукты / data_access / ODBC-доступа водителя / index.html Предположительно, в mdbtools есть один, но он описан как ограниченный. Mdbtools.sourceforge.net / установить / x90.htm HansUp

Ваш Ответ

2   ответа
4

что я знаю, этот драйвер «Microsoft Access Driver (* .mdb)» доступен только на хосте Microsoft, так как вы работаете в Ubuntu, он не будет работать.

Да, я до сих пор с этим ответом. Пожалуйста, поделитесь, если у кого-то есть решение. fakhir hanif
0
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()

Похожие вопросы