在Linux中通过Python脚本访问mdb数据库的方法
|
在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:dirfile.mdb
安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools,unixODBC,libmdbodbc 如果是支持 deb 的系统中,如果不能找到 libmdbodbc ,将以下路径加入到软件源列表中 deb http://ftp.de.debian.org/debian squeeze main 更新源后即可可以安装 libmdbodbc 了 安装了需要的包后,需要做一些配置,才能支持 libmdbodbc 的驱动 复制代码 代码如下:/etc/odbcinst.ini [MDBToolsODBC] /etc/odbc.ini 或者 ~/.odbc.ini 复制代码 代码如下:[test] 代码 配置好数据源后,就可以用于任何支持 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 – 如何在解析过程中丢弃pyparsing parseResults?
- python 判断汉字实现方法
- Python:为什么Queue.queue的某些方法“不可靠”?
- Python使用struct处理二进制(pack和unpack用法)的简单示例
- python-神经网络无法学习(损失保持不变)
- python – Numpy相当于if / else list comprehension
- 使用Python计算点密度
- Python解决json.dumps错误::‘utf8’ codec can‘t decod
- python虚拟环境virualenv的安装与使用
- python模块之pickle、shelve、json
