提高Python在Windows上访问MS Access的速度

0 投票
2 回答
2101 浏览
提问于 2025-04-16 08:39

我在一台运行Windows Server 2003的电脑上,使用Python 2.5.4脚本通过pyodbc 2.1.5访问本地存储的MS Access 2000 MDB文件。

这样访问数据库的速度非常慢(我的机器很快,其他数据库操作都正常),我在想有没有更好的方法从Python访问MDB文件?也许换个更好的ODBC驱动程序?

这是我使用的一个示例脚本:

import pyodbc
cstring = 'DRIVER={Microsoft Access Driver (*.mdb)};DBQ=t:\data.mdb'
conn = pyodbc.connect(cstring)
cursor = conn.cursor()
sql="UPDATE ..."
cursor.execute(sql)
conn.commit()
conn.close()

2 个回答

3

试着在程序启动的时候建立一次连接,然后在程序的其他地方重复使用这个连接。不要在每次执行或提交后都关闭连接。

0

Tony的建议对我来说最有道理。不过,如果这个还不够,你也可以试试更新版本的驱动,比如这个,它可以支持Office 2007的文件(当然也能支持更早的版本)。即使你没有安装Office,也可以下载和安装这个驱动。

安装好之后,可以试试这样的连接字符串:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=T:\data.mdb;

撰写回答