天天看點

python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解

看書上通過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盤建立的資料庫。這樣就将資料源建立完成。

python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解
python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解
python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解
python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解

③代碼部分

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)是否一緻。

python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解

②注意這裡使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同樣會出現:

python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解

③如果出現下圖的情況,可能是檔案已加密,隻需要在DBQ前面加上:PWD=YourPWD(檔案的密碼)

python連接配接access資料庫odbc_對Python通過pypyodbc通路Access資料庫的方法詳解

以上這篇對Python通過pypyodbc通路Access資料庫的方法詳解就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。