首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Python读取Microsoft Access数据库需要执行哪些操作?

使用Python读取Microsoft Access数据库需要执行哪些操作?
EN

Stack Overflow用户
提问于 2009-05-12 15:29:24
回答 8查看 72.2K关注 0票数 34

如何在Python中访问Microsoft access数据库?使用SQL?

我更喜欢在Linux上工作的解决方案,但我也可以满足于Windows。

我只需要读访问权。

EN

回答 8

Stack Overflow用户

发布于 2009-05-12 15:39:23

This SO question演示了使用它来读取MS Access是可能的。

票数 10
EN

Stack Overflow用户

发布于 2009-05-13 02:32:10

您已经有了一些听起来不错的解决方案。另一个可能比您希望的更接近“金属”的工具是MDB工具。

MDB Tools是一组开源库和实用程序,可在不使用Microsoft DLL的情况下方便地从MS Access数据库(mdb文件)导出数据。因此,非Windows操作系统可以读取数据。或者,换句话说,他们是在对MDB文件的布局进行逆向工程。

还要注意的是,我怀疑他们是否已经开始处理ACCDB文件,而且可能不会有太多对该功能的需求。

票数 10
EN

Stack Overflow用户

发布于 2014-06-07 19:01:32

在Ubuntu 12.04上,我这样做是为了让它工作。

安装pyodbc:

代码语言:javascript
复制
$ sudo apt-get install python-pyodbc

接下来安装一些额外的驱动程序:

代码语言:javascript
复制
$ sudo apt-get install mdbtools libmdbodbc1

制作一个连接到数据库并显示所有表格的小测试程序:

代码语言:javascript
复制
import os
import pyodbc

db_path = os.path.join("path", "toyour", "db.mdb")
odbc_connection_str = 'DRIVER={MDBTools};DBQ=%s;' % (db_path)
connection = pyodbc.connect(odbc_connection_str)
cursor = connection.cursor()

query = "SELECT * FROM MSysObjects WHERE Type=1 AND Flags=0"
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
    print row

我希望它能帮上忙。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/853370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档