“未找到数据源名称且未指定默认驱动程序”与Access ODBC有关

8 投票
1 回答
1762 浏览
提问于 2025-04-30 00:38

我的软件:

  • 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)')

我已经查看过:

pyodbc和ms access 2010连接错误

无法使用pyodbc连接到Access数据库

有人建议这是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数据库引擎的“位数”一致。所以,简单来说,你的选择有:

  1. 使用32位的Python和pyodbc,或者
  2. 把你的32位Office换成64位的版本。

撰写回答