"未找到数据源名称且未指定默认驱动程序"使用Access ODBC

时间:2014-10-27 21:36:37

标签: python ms-access odbc pyodbc

我的软件:

  • Python 3.4 -64 bit
  • PyODBC 64位
  • MS office package已安装(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 and ms access 2010 connection error

Cannot connect to Access DB using pyodbc

建议我确定它是32-64位问题。是否有一些修改可以使其工作,而无需安装32位python和32位pyodbc?我查看了这个网站。Using ODBC (32-bit and 64-bit) on 64-bit Windows解释了访问控制面板以修改ODBC连接和/或驱动程序。但是,我不太了解Windows数据库连接内部开始一些更改。

我能做些什么让它发挥作用吗?

1 个答案:

答案 0 :(得分:7)

  

是否可以进行一些修改以使其在不安装32位python和32位pyodbc的情况下工作?

不是真的。如果您安装了32位Office,那么您拥有32位版本的Access数据库引擎(a.k.a。" ACE"),只有32位应用程序才能使用它。

如果检测到32位Office组件,则64位版本的Access数据库引擎的安装程序将中止。有一种方法可以强制安装程序继续,但不建议这样做,因为它显然可以破坏Office。

底线:" bitness"您的应用程序必须符合" bitness"已安装的Access数据库引擎。所以,实际上,你的选择是

  1. 使用32位Python和pyodbc,或
  2. 将您的32位Office替换为64位版本。