1. 程式人生 > >Python通過pypyodbc訪問Access資料庫

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盤建立的資料庫。這樣就將資料來源建立完成。





③程式碼部分

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資料庫

        看書上通過ODBC訪問資料庫的案例,想實踐一下在Python 3.6.1中實現access2003資料庫的連結,但是在匯入odbc模組的時候出現了問題,後來查了一些資料就嘗試著使用py

python 通過ssh訪問資料庫

通常,為了安全性,資料庫只允許通過ssh來訪問。例如:mysql資料庫放在伺服器A上,只允許資料庫B來訪問,這時,我們需要用機器C去訪問資料庫,就需要用C通過ssh連線B,再訪問A。 通過pymysql連線mysql: import pymysql from

利用python的pyodbc連線access 資料庫 & pyodbc的基本用法

一、安裝第三方庫 pyodbc Pip install pyodbc 二、檢驗是否可以正常連線資料庫 檢查是否有一個Microsoft Access ODBC驅動程式可用於你的Python環境(在Windows上)的方法: >>> import pyodb

python通過pandas讀取mysql資料庫

下午研究了下windows下快速操作mysql的方法 不想裝workbench,因為要裝VS2015 在官網下了一個mysql-shell,用起來還不錯,但是我沒有更多的許可權,select into outfile的時候沒有許可權 mysql-shell官網下載是個還個還不錯的互動式命令列

如何通過ip訪問MySql資料庫

如果你想通過IP地址連線到你的mysql資料庫時發生如下錯誤錯誤: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解決方法如下: 1.改表法。可能是你的帳

spark通過jdbc訪問postgresql資料庫

1.首先要有可用的jdbc[[email protected] bin]$ locate jdbc|grep postgres /mnt/hd01/www/html/deltasql/clients/java/dbredactor/lib/postgresql-8

golang ODBC 訪問access資料庫

最近專案需要,需要操作access,以前是用VC++ OLE訪問,網路用ACE庫,感覺很龐大。。。決定用go試試 安裝方式如下: ODBC database driver for Go Install: cd $GOPATH/src git clone git

一次Delphi訪問access資料庫的總結

由於專案需要寫一個門禁介面,要使用Delphi訪問access資料庫的一個表,不得已要使用以前都沒用過的access資料庫,現在介面寫的差不多了,把自己在這當中學到的一些access記一下,以免到時候遺忘。 1、首先要明確access是一個檔案型資料庫,訪問時不需要ip地址

VC6.0 通過ado連線access資料庫

  我們可以使用AfxOleInit()來初始化COM庫,這項工作通常在CWinApp::InitInstance()的過載函式中完成,請看如下程式碼:: public: _ConnectionPtr m_pConnection

Android客戶端通過PHP訪問MySQL資料庫

為了寫這篇文章,準備了很長的時間,自己也學習很多新的知識,譬如簡單學習了伺服器端的語言PHP,MySQL資料庫以及也瞭解了Http協議。收穫很大,學到了很多新的知識,對C/S架構模式,有了更近一步的瞭解。對近期學習也做一個總結,同時給想做這方面東西的博友們,一點

C#Winform連線並訪問Access資料庫

C#Winform連線並訪問Access資料庫 Access新建了一個名為user的資料庫,其中有張名為UserInfor的表。將之添入專案中後,訪問資料表中資料。這樣做: OleDbConne

oracle通過DBLink訪問遠端資料庫的LOB欄位報ORA-22992的解決方法

oracle通過DBLink訪問遠端資料庫的LOB欄位報ORA-22992的解決方法 最近在做資料庫遷移,從一個數據庫匯入表到另外一個數據庫,同時為了更換表空間,在匯入的過程中出現包含BLOB型別的表不能匯入,(欄位是BLOB型別),如果本地資料庫直接通過select語

VBA訪問access資料庫例項

Sub DaoChuExl()          Dim conn As New ADODB.Connection     Dim rs As New ADODB.Recordset     Dim rowxh As Integer, vhx As Integer, rowzs As Integer, con

如何通過ADO獲得Access資料庫中的所有使用者表和表資訊

本文介紹一種通過ADO列舉Access檔案中所用使用者表和表資訊的方法,僅供參考,原始碼在VC6.0 +XP環境通過測試。 首先,需要引入msado15.dll檔案,在stdafx.h中新增: #import "c:/program files/common files/s

win7下執行ASP出現不能訪問ACCESS資料庫的問題

在WIN7下士可以除錯ASP程式的,這個過程設定時很簡單的。 但是筆者在配置過程中,發現單純的ASP是可以正常訪問,發現只要是涉及資料庫Access操作就出現錯誤。 發現只要在配置IIS時候,把WEB管理工具全部選上,然後在【執行】處輸入:CSCRIPT %SYSTEMDR

LINUX下通過C++訪問SQLSERVER資料庫

LINUX下通過C++訪問微軟的資料庫,有點麻煩。微軟官方的LINUX資料庫驅動支援不好,本例通過unixODBC,使用freeTDS驅動,再通過SOCI封裝的ODBC方式訪問資料庫(具體版本:un

本機可通過ip訪問Mysql資料庫的小方式

1:win+R鍵入cmd2:在cmd中鍵入”mysql -u root -p“Tips:其中,root是使用者名稱稱,可以根據需要進行更改3:在cmd中鍵入”show databases;“確認下你的所有資料庫。4:在cmd中鍵入“grant all privileges o

C++通過webservice 訪問C#資料庫

知識總結 將桌面資料儲存於資料庫中 1、先打通 webserivce 到資料庫通道,這一步比較簡單, 通過呼叫 bll- dal - asmx 三層依次呼叫訪問。 2、c++桌面通過呼叫介面 定義介面做了一段串拼接抄作  int CSeatArrangeMainDlg::W

Windows下使用Python通過ODBC/ADO訪問資料庫

關鍵詞:Python 資料庫 ODBC ADO Python的確是一個很好的指令碼語言,簡潔而且功能很強。可惜文件資料奇缺,最近學Python,手裡唯一 的一本《Python技術參考大全》已經過時很久了。想用Pytho

aliyun linux下寫python flask,無法通過瀏覽器訪問公網ip

tail 操作系統 結果 出現 blog mage linux下 ubunt 服務器 出現的問題是: 寫了一個基於flask框架的輸出helloworld的.py程序,是在aliyun服務器上寫的,基於ubuntu的操作系統。 寫的代碼是這樣的: 但是在瀏覽器訪問時