前言
今天想要用Python访问Access数据库,折腾了半天,特记录一下
背景
最近想将一些文件记录下来,存入数据库,为此拿LabVIEW写了一个版本,记录环境配置为:
LabVIWE:2015
Access:2016
驱动连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=;Persist Security Info=False
虽然用LabVIEW已经实现功能,但觉得还是太笨重了,所以打算用Python再实现一遍。
数据库连接
数据库连接网上大致有两种方法,一种是使用pyodbc
,另一种是使用win32com.client
,测试了很多遍,最终只有pyodbc成功,而且比较好用,所以这里只介绍这种方法
环境安装
由于LabVIEW已经完成实现,所以环境主要是Python 2.7 和 Access 2016
为了加载需要的库,python 2.7 安装了Pip工具
工具库安装
在此基础上安装pyodbc工具库,在cmd窗口执行如下语句安装
pip install pyodbc
程序实现
import pyodbc
DBfile = r"test.mdb" # 数据库文件
conn = pyodbc.connect(r"Driver={Driver do Microsoft Access (*.mdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")
cursor = conn.cursor()
SQL = "SELECT * from MFRProcess;"
for row in cursor.execute(SQL):
print row
cursor.close()
conn.close()
需要注意的是,Driver的内容需要根据自己的环境驱动变化,一开始我认为和LabVIEW一致,后来发现需要根据自己的驱动环境来设置。
来源:oschina
链接:https://my.oschina.net/u/4314590/blog/4044326