看書上通過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資料庫的方法詳解就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。