您好,登錄后才能下訂單哦!
怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
①安裝pypyodbc
目前Python安裝通常使用steup.py或者pip工具,在python3.4之后的的版本都默認包含了pip,因此,這里推薦使用pip工具。在cmd中執(zhí)行:pip install pypyodbc,耐心等待執(zhí)行完成,pypyodbc模塊就已經(jīng)安裝成功了。如果提示安裝超時或者失敗可以重新再執(zhí)行一次。執(zhí)行成功后,查看C:\Python36\Lib\site-packages中就會發(fā)現(xiàn)多了pypyodbc的目錄。這時候就可以使用pypyodbc模塊了。
②創(chuàng)建數(shù)據(jù)源
先利用Access創(chuàng)建一個數(shù)據(jù)庫,我是在D盤中創(chuàng)建了一個名稱為addresses.mdb的數(shù)據(jù)庫文件。然后在“控制面板”中找到“管理工具”,打開其中的“數(shù)據(jù)源(ODBC)”,選擇“添加”,并選擇“Microsoft Access Driver(*.mdb,*.accdb)”,點擊完成。然后輸入數(shù)據(jù)源名“addresses”,并點擊“選擇”找到在D盤創(chuàng)建的數(shù)據(jù)庫。這樣就將數(shù)據(jù)源創(chuàng)建完成。
③代碼部分
import pypyodbc str = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb' db=pypyodbc.win_connect_mdb(str) # 打開數(shù)據(jù)庫連接 curser = db.cursor() # 產(chǎn)生cursor游標(biāo) 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))
注意事項:
①如果過程中出現(xiàn)下圖的情況,注意檢查創(chuàng)建數(shù)據(jù)源過程中的驅(qū)動與代碼中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。
②注意這里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同樣會出現(xiàn):
③如果出現(xiàn)下圖的情況,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密碼)
1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。
看完上述內(nèi)容,你們掌握怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。