“未找到数据源名称且未指定默认驱动程序”与Access ODBC有关
我的软件:
- Python 3.4 -64位
- PyODBC 64位
- 安装了MS Office套件(32位)
问题:
现在,我想通过PYODBC访问我电脑上安装的MS Access 2010,但无论我怎么尝试都不行。每次出现的错误都是这个:
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我已经查看过:
有人建议这是32位和64位的问题,我也觉得是这样。有没有什么办法可以让它工作,而不需要安装32位的Python和32位的pyodbc?我查看了这个网站。在64位Windows上使用ODBC(32位和64位),它讲解了如何访问控制面板来修改ODBC连接和/或驱动程序。不过,我对Windows数据库连接的内部工作了解不多,不知道该如何进行修改。
有没有什么我可以做的,让它正常工作?
1 个回答
8
有没有什么办法可以让它在不安装32位Python和32位pyodbc的情况下工作?
其实没有。如果你的电脑上安装了32位的Office,那你就有了32位的Access数据库引擎(也叫“ACE”),只有32位的应用程序才能使用它。
如果你试图安装64位版本的Access数据库引擎,安装程序会检测到你有32位的Office组件,然后就会停止安装。虽然有办法强行让安装程序继续,但不推荐这样做,因为这可能会导致Office出现问题。
总结:你的应用程序的“位数”必须和安装的Access数据库引擎的“位数”一致。所以,简单来说,你的选择有:
- 使用32位的Python和pyodbc,或者
- 把你的32位Office换成64位的版本。