在Ubuntu上使用Python操作Access数据库(.mdb)

7
我正在尝试使用pyodbc在Ubuntu上访问.mdb文件。迄今为止,我已经参考了这个链接的进展:Query crashes 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
我从未尝试过。请查看他们的入门指南。http://www.easysoft.com/products/data_access/odbc-access-driver/getting-started.html - HansUp
我也遇到了同样的错误。@mythhander889,你是如何解决的?请分享一下。 - fakhir hanif
@fakhirhanif,不幸的是,我从未让它正常工作。我找到了一个类似的命令行实用程序,然后编写了一个小的bash脚本将其转储到csv文件中。 - mythander889
@mythander889,现在我可以使用pyodbc连接.mdb文件。但是当我执行查询并获取记录时,它会崩溃。 - fakhir hanif
显示剩余3条评论
2个回答

5
据我所知,这个驱动程序“Microsoft Access Driver (*.mdb)”只能在微软主机上使用,因为你在Ubuntu上,它不能起作用。

1
我对这个答案感到满意。如果有人有解决方案,请分享。 - fakhir hanif

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

这是官方示例...的用法...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接