在Linux中通过Python脚本访问mdb数据库的方法


Posted in Python onMay 06, 2015

在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式

DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dir\\file.mdb

安装

这里我们需要借助一些库来实现第三方的驱动

我们需要安装这些包:mdbtools, unixODBC, libmdbodbc

如果是支持 deb 的系统中,如果不能找到 libmdbodbc ,将以下路径加入到软件源列表中

deb http://ftp.de.debian.org/debian squeeze main

更新源后即可可以安装 libmdbodbc 了
配置

安装了需要的包后,需要做一些配置,才能支持 libmdbodbc 的驱动

/etc/odbcinst.ini
[MDBToolsODBC]

Description = MDB Tools ODBC

Driver = /usr/lib/libmdbodbc.so.0

Setup =

FileUsage =

CPTimeout =

CPReuse =

/etc/odbc.ini 或者 ~/.odbc.ini

[test]

Description = Microsoft Access Try DB

Driver = MDBToolsODBC

Database = /path/to/mdb/file/test.mdb

Servername = localhost

Username =

Password =

port = 5432

代码

配置好数据源后,就可以用于任何支持 odbc 访问的应用中了,这里以 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

注:如果是操作名称中文的表或者字段等,需要将其包含在双引号中,不然会出错,当然,将表名做成中文这么二的做法, 还是不推荐使用的啦

pyodbc 是个很不错的库,api 也很好用,不过对中文支持的并不好,它并没有默认以 unicode 处理数据,所以对于中文相关的应用, 编码问题无处不在,只得慢慢折腾了。

Python 相关文章推荐
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
python xlsxwriter模块的使用
Dec 24 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 Python
Django实现drf搜索过滤和排序过滤
Jun 21 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 Python
基于Python实现将列表数据生成折线图
Mar 23 Python
python中黄金分割法实现方法
May 06 #Python
使用rpclib进行Python网络编程时的注释问题
May 06 #Python
pymongo给mongodb创建索引的简单实现方法
May 06 #Python
Python中用PIL库批量给图片加上序号的教程
May 06 #Python
python写入中英文字符串到文件的方法
May 06 #Python
python使用xlrd模块读写Excel文件的方法
May 06 #Python
在Python中使用全局日志时需要注意的问题
May 06 #Python
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
php取出数组单个值的方法
2018/03/12 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
python解决网站的反爬虫策略总结
2016/10/26 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python如何将图片转换素描画
2020/09/08 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
保护环境的建议书
2014/03/12 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
国庆节演讲稿
2014/05/27 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python