Python使用pypyodbc连接Access数据库完整指南

Jasper
Jasper
发布时间:2026-10-12| 2人浏览过
原创

本文详细介绍如何在Python中利用pypyodbc模块连接并操作Access数据库。内容涵盖pypyodbc的安装方法、Windows系统下ODBC数据源的配置步骤,以及使用win_connect_mdb进行数据库连接、游标创建、SQL查询执行和结果遍历的完整代码示例。

环境准备与模块安装

在Python环境中访问Access数据库,推荐使用 pypyodbc 模块。该模块在Python 3.6.1等版本中表现稳定。安装过程十分简单,只需通过命令行工具执行pip命令即可:

pip install pypyodbc

安装成功后,系统Python环境(例如 C:\Python36\Lib\site-packages)下会自动生成 pypyodbc 目录,表明模块已就绪。

配置ODBC数据源

在编写Python代码之前,必须在Windows系统中配置好ODBC数据源,这是建立连接的关键前提:

  1. 打开控制面板,进入“管理工具”,找到并点击“数据源(ODBC)”。
  2. 在“用户DSN”或“系统DSN”选项卡中,点击“添加”按钮。
  3. 在驱动程序列表中选择 Microsoft Access Driver (*.mdb, *.accdb)。
  4. 在配置界面中,为数据源设置一个名称(例如 addresses),并通过“选择...”按钮指向D盘上已存在的 addresses.mdb 文件。

注意: 代码中使用的驱动字符串必须与配置数据源时选择的驱动完全一致,否则会导致连接失败。

Python连接与操作代码

配置完成后,可以通过以下Python代码实现数据库的连接、查询及结果输出:

import pypyodbc
import time

# 定义连接字符串,指定驱动和数据库路径
str_conn = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb'

# 使用win_connect_mdb建立连接(推荐)
db = pypyodbc.win_connect_mdb(str_conn)

# 创建游标对象
curser = db.cursor()

# 执行SQL查询:按ID降序获取所有记录
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)
    # 输出特定字段(例如第2、3列)
    print(row[1], row[2])
    
    # 处理时间字段(假设第4列是时间戳)
    timeTuple = time.localtime(row[3])
    print(time.strftime('%Y/%m/%d', timeTuple))

常见问题与注意事项

在连接过程中,可能会遇到一些特定的错误,建议注意以下几点:

  • 连接方法选择: 尽量使用 pypyodbc.win_connect_mdb 函数,直接使用 pypyodbc.connect 有时会出现兼容性问题或连接错误。
  • 加密数据库: 如果Access数据库文件设置了密码,必须在连接字符串的 DBQ 参数前添加 PWD=YourPWD 参数,否则无法打开数据库。

以上就是Python通过pypyodbc访问Access数据库的详细内容,更多关于Python数据库操作、pypyodbc用法及Access连接技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。