我在python上使用32位版本,虽然我的计算机是64位计算机,但我已经成功安装了pyodbc 32位Windows版本。我的Microsoft Access也是32位版本。
当我查询驱动程序的pyodbc时,它会显示两个驱动程序。
[x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
产量
['Microsoft Access Driver (*.mdb)', 'Microsoft Access Driver (*.mdb, *.accdb)']
在其他地方使用示例,我按如下方式构建连接字符串“c”
c= (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ=C:\users\815001\Documents\Database6.accdb;'
)
然后我尝试连接
cnxn=pyodbc.connect(c)
这会导致以下错误消息:
回溯(最近一次调用最后一次):文件“”,第1行,cnxn = pyodbc.connect(c)
pyodbc.InterfaceError:('IM003','[IM003]由于系统错误126无法加载指定的驱动程序:无法找到指定的模块。(Microsoft Access驱动程序(* .mdb,* .accdb),C:\程序文件(x86)\ Common Files \ Microsoft Shared \ OFFICE16 \ ACEODBC.DLL)。(160)(SQLDriverConnect)')
我检查了位置,确实在C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ OFFICE 16中没有ACE0DBC.DLL文件。
我去哪里买?我尝试在此网页的搜索引擎中查找ACE0DBC.DLL,但没有产生任何结果。
您可以在此处获取Microsoft Access数据库引擎2016:https://www.microsoft.com/en-us/download/confirmation.aspx?id=54920