我在使用 pyodbc 访问 MS Access 2013 数据库时遇到问题。 连接字符串为:
conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:\testmodel.accdb;")
我得到的错误是:
pyodbc.Error: ('HY000', "[HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process
请帮忙! 我已经看到它适用于 2007 db...它能与2013年一起使用吗?
谢谢!Jon
每当我看到该错误消息时,通常是因为我也在 Access 本身中打开了数据库,并且我做了一些基本上"锁定"数据库的操作,例如在设计视图中打开对象或对 VBA 模块进行更改。请确保您没有打开的 Access 应用程序本身的实例,然后重试。
另一个可能的原因是某些驱动器的根文件夹可能具有受限的权限。您可以尝试将.accdb文件移动到所有用户通常具有读/写访问权限的位置,例如,
C:UsersPublicDocuments
看看是否有帮助。
我的猜测是,Python 和 Ms Access 2013 一个在 32 位上,另一个在 64 位上。如果是这种情况,它们不兼容并引发错误。MsAccess 2013(64位)仅提供64版本的驱动程序,因此如果您的Python在32上,则可能需要在64位版本上重新加载python或修改MS Access。可以在同一台计算机上安装两个版本的 MS 访问驱动程序,但不建议这样做,因为 MS Office 可能会变得不稳定。希望有帮助,祝你好运