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

作者:goldensun 时间:2023-12-18 16:23:14 

在 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
0
投稿

猜你喜欢

  • Python爬取12306车次信息代码详解

    2022-05-19 03:42:00
  • Python实现去除列表中重复元素的方法小结【4种方法】

    2022-10-17 12:24:09
  • pycharm使用docker容器开发的详细教程

    2023-07-04 08:13:06
  • jQuery判断checkbox是否选中的3种方法

    2024-04-22 13:05:16
  • asp.net中如何调用sql存储过程实现分页

    2024-01-27 23:49:57
  • Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定

    2023-07-02 16:28:13
  • Python实现统计单词出现的个数

    2022-11-01 12:19:30
  • 详解pandas映射与数据转换

    2022-07-09 11:47:58
  • Python常用库推荐

    2023-03-22 09:25:58
  • Python变量定义的简单使用介绍

    2021-08-23 07:35:26
  • MySQL内部临时表的具体使用

    2024-01-20 13:09:54
  • tensorflow之如何使用GPU而不是CPU问题

    2023-07-06 13:05:48
  • 解决python有时候import不了当前的包问题

    2022-11-28 18:52:21
  • 使用Python绘制空气质量日历图

    2023-06-20 12:19:21
  • C#调用python脚本的方法步骤(2种)

    2021-11-12 02:44:09
  • mysql复制表的几种常用方式总结

    2024-01-25 12:11:59
  • MySQL 删除数据库中重复数据方法小结

    2024-01-25 16:39:03
  • 析构函数与php的垃圾回收机制详解

    2023-11-14 11:27:34
  • ASP向Excel导数据(图片)终结版 ASP操作Excel

    2011-03-25 10:48:00
  • 如何通过Django使用本地css/js文件

    2022-04-28 22:04:33
  • asp之家 网络编程 m.aspxhome.com