我正在尝试使用Python pyodbc连接到Access .mdb数据库。我连接到本地数据库,并且工作正常。该数据库包含指向网络驱动器上的后端.mdb的链接表。尝试从链接表中选择时收到此错误:
pyodbc.Error :(“ HY024”,“ [HY024] [Microsoft] [ODBC Microsoft Access驱动程序]'U:\ OFFICE \ GIS \ accessdatabase.mdb'不是有效路径。请确保路径名称为拼写正确,并且您已连接到文件所在的服务器。(-1023)(SQLExecDirectW)“)
路径名正确,如果我进入本地数据库并打开它们,链接表可以正常工作。 python程序从不提及网络数据库或它的路径,它仅连接到本地数据库。
python脚本工作正常。我仅在运行由Pyinstaller生成的已编译.exe时收到错误。此外,同事可以在Windows 10上编译,并且他的.exe可以正常工作。但是它必须在Windows 7上编译才能生成可在Windows 7上运行的.exe。
Windows 7。
conn_str = (
r'DRIVER={Microsoft Access Driver (*.mdb)};'
r'Uid=Admin;Pwd=;'
r'DBQ=' + self.path
)
任何帮助或指导将不胜感激!谢谢
答案 0 :(得分:1)
不确定这是否是一个答案,还是更多解决方法,但是我通过使用本地数据库中的'\ server \ name \ path'样式路径重新链接远程数据库表来使其正常工作的“ U:\ path”样式。显然,由于某种原因,已编译的程序试图以管理员身份运行,并且在命令窗口中,以管理员身份运行时映射的驱动器不可用。我想分享一下,以防其他人遇到类似的问题。