我在Windows Server 2003上,使用pyodbc 2.1.5从python 2.5.4脚本访问本地存储的MS Access 2000 MDB。
db访问速度非常慢(我在快速机器上,所有其他数据库操作都正常),我想知道是否有更好的方法从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()
答案 0 :(得分:3)
尝试在程序启动时设置一次连接,然后在任何地方重复使用连接。而不是在每次执行或提交后关闭它。
答案 1 :(得分:0)
托尼的建议对我来说最有意义。但是,如果还不够,您还可以尝试更高版本的驱动程序,例如this one,它与Office 2007文件(当然还有旧版本)一起使用。即使您没有Office,也可以下载并安装它。
安装完成后,尝试使用以下连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=T:\data.mdb;