看書上通過ODBC訪問數據庫的案例,想實踐一下在Python 3.6.1中實現access2003數據庫的鏈接,但是在導入odbc模塊的時候出現了問題,后來查了一些資料就嘗試著使用pypyodbc,最后成功了。
操作步驟:
①安裝pypyodbc
目前Python安裝通常使用steup.py或者pip工具,在python3.4之后的的版本都默認包含了pip,因此,這里推薦使用pip工具。在cmd中執行:pip install pypyodbc,耐心等待執行完成,pypyodbc模塊就已經安裝成功了。如果提示安裝超時或者失敗可以重新再執行一次。執行成功后,查看C:\Python36\Lib\site-packages中就會發現多了pypyodbc的目錄。這時候就可以使用pypyodbc模塊了。
②創建數據源
先利用Access創建一個數據庫,我是在D盤中創建了一個名稱為addresses.mdb的數據庫文件。然后在“控制面板”中找到“管理工具”,打開其中的“數據源(ODBC)”,選擇“添加”,并選擇“Microsoft Access Driver(*.mdb,*.accdb)”,點擊完成。然后輸入數據源名“addresses”,并點擊“選擇”找到在D盤創建的數據庫。這樣就將數據源創建完成。
③代碼部分
import pypyodbc
str = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb'
db=pypyodbc.win_connect_mdb(str) # 打開數據庫連接
curser = db.cursor() # 產生cursor游標
curser.execute("select * from address order by id desc")
for col in curser.description: # 顯示行描述
print (col[0], col[1])
result = curser.fetchall()
for row in result: # 輸出各字段的值
print (row)
print (row[1], row[2])
timeTuple = time.localtime(row[3])
print (time.strftime('%Y/%m/%d', timeTuple))
注意事項:
①如果過程中出現下圖的情況,注意檢查創建數據源過程中的驅動與代碼中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。
②注意這里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同樣會出現:
③如果出現下圖的情況,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密碼)
以上這篇對Python通過pypyodbc訪問Access數據庫的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。