前言
今天想要用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一致,后來發現需要根據自己的驅動環境來設置。