看書上通過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 pypyodbcstr = '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數據庫的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。
新聞熱點
疑難解答