我在使用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一起使用吗?
谢谢! 乔恩
答案 0 :(得分:1)
每当我看到错误消息时,通常是因为我在Access本身也打开了数据库,并且我做了一些基本上“锁定”数据库的事情,比如在设计视图中打开一个对象或者对VBA模块进行了更改。确保您没有打开Access应用程序本身的实例,然后重试。
另一个可能的原因是某些驱动器的根文件夹可能具有受限制的权限。您可以尝试将.accdb文件移动到所有用户通常具有读/写访问权限的位置,例如
C:\Users\Public\Documents
看看是否有帮助。
答案 1 :(得分:0)
我的猜测是Python和Ms Access 2013一个在32位上,另一个在64位上。如果是这种情况,它们将不兼容并抛出错误。 MsAccess 2013(64位)仅提供64版本的驱动程序,因此,如果您的Python在32位上,则可能必须在64位版本上重新加载python或修改MS Access。可能在同一台计算机上同时安装了两个版本的MS Access Driver,但由于MS Office可能变得不稳定,因此不建议这样做。 希望对您有帮助,祝您好运