在Linux中通過Python腳本訪問mdb數(shù)據(jù)庫(kù)的方法
在 linux 系統(tǒng)中連接 mdb 數(shù)據(jù)庫(kù),直接連接的話,mdb 默認(rèn)的驅(qū)動(dòng)無(wú)法識(shí)別非 windows 的路徑, 所以不能使用常規(guī)的連接方式
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dir\\file.mdb
安裝
這里我們需要借助一些庫(kù)來實(shí)現(xiàn)第三方的驅(qū)動(dòng)
我們需要安裝這些包:mdbtools, unixODBC, libmdbodbc
如果是支持 deb 的系統(tǒng)中,如果不能找到 libmdbodbc ,將以下路徑加入到軟件源列表中
deb http://ftp.de.debian.org/debian squeeze main
更新源后即可可以安裝 libmdbodbc 了
配置
安裝了需要的包后,需要做一些配置,才能支持 libmdbodbc 的驅(qū)動(dòng)
[MDBToolsODBC]
Description = MDB Tools ODBC
Driver = /usr/lib/libmdbodbc.so.0
Setup =
FileUsage =
CPTimeout =
CPReuse =
/etc/odbc.ini 或者 ~/.odbc.ini
Description = Microsoft Access Try DB
Driver = MDBToolsODBC
Database = /path/to/mdb/file/test.mdb
Servername = localhost
Username =
Password =
port = 5432
代碼
配置好數(shù)據(jù)源后,就可以用于任何支持 odbc 訪問的應(yīng)用中了,這里以 pyodbc 為例
#-*- coding: utf-8 -*- import pyodbc conn = pyodbc.connect('DSN=test'); cursor = conn.cursor() cursor.execute('select * from "省"') for row in cursor.fetchall(): print row.Name
注:如果是操作名稱中文的表或者字段等,需要將其包含在雙引號(hào)中,不然會(huì)出錯(cuò),當(dāng)然,將表名做成中文這么二的做法, 還是不推薦使用的啦
pyodbc 是個(gè)很不錯(cuò)的庫(kù),api 也很好用,不過對(duì)中文支持的并不好,它并沒有默認(rèn)以 unicode 處理數(shù)據(jù),所以對(duì)于中文相關(guān)的應(yīng)用, 編碼問題無(wú)處不在,只得慢慢折騰了。
- Python3.7 pyodbc完美配置訪問access數(shù)據(jù)庫(kù)
- 詳解js文件通過python訪問數(shù)據(jù)庫(kù)方法
- 對(duì)Python通過pypyodbc訪問Access數(shù)據(jù)庫(kù)的方法詳解
- Python使用pyodbc訪問數(shù)據(jù)庫(kù)操作方法詳解
- Python輕量級(jí)ORM框架Peewee訪問sqlite數(shù)據(jù)庫(kù)的方法詳解
- Python的Tornado框架實(shí)現(xiàn)異步非阻塞訪問數(shù)據(jù)庫(kù)的示例
- Linux下通過python訪問MySQL、Oracle、SQL Server數(shù)據(jù)庫(kù)的方法
- python訪問mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法(2則示例)
- python使用MySQLdb訪問mysql數(shù)據(jù)庫(kù)的方法
- Python訪問純真IP數(shù)據(jù)庫(kù)腳本分享
- Shell、Perl、Python、PHP訪問 MySQL 數(shù)據(jù)庫(kù)代碼實(shí)例
- python訪問純真IP數(shù)據(jù)庫(kù)的代碼
- 使用Python通過oBIX協(xié)議訪問Niagara數(shù)據(jù)的示例
相關(guān)文章
educoder之Python數(shù)值計(jì)算庫(kù)Numpy圖像處理詳解
這篇文章主要為大家介紹了educoder之Python數(shù)值計(jì)算庫(kù)Numpy圖像處理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作
這篇文章主要介紹了torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作,文章內(nèi)容接受非常詳細(xì),對(duì)正在學(xué)習(xí)或工作的你有一定的幫助,需要的朋友可以參考一下2022-02-02在python中l(wèi)ist作函數(shù)形參,防止被實(shí)參修改的實(shí)現(xiàn)方法
這篇文章主要介紹了在python中l(wèi)ist作函數(shù)形參,防止被實(shí)參修改的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06django admin管理工具自定義時(shí)間區(qū)間篩選器DateRangeFilter介紹
這篇文章主要介紹了django admin管理工具自定義時(shí)間區(qū)間篩選器DateRangeFilter介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05對(duì)python添加模塊路徑的三種方法總結(jié)
今天小編就為大家分享一篇對(duì)python添加模塊路徑的三種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Pytest參數(shù)化parametrize使用代碼實(shí)例
這篇文章主要介紹了Pytest參數(shù)化parametrize使用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02全面解析Python的While循環(huán)語(yǔ)句的使用方法
這篇文章主要介紹了全面解析Python的While循環(huán)語(yǔ)句的使用方法,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10