使用Python连接到Access 2013:找不到数据源名称

时间:2015-12-30 15:25:03

标签: python ms-access-2013 pyodbc

我使用此代码连接到Access 2013:

conn_str = r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\_DELOITTE\Statistics.mdb;"
self.conn = pyodbc.connect(conn_str)

我收到以下错误:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

我使用Windows 8,Intel处理器,32位Access和Python 2.7。

在管理工具中,我ODBC Data Sources (32-bit)ODBC Data Sources (64-bit)都指向%windir%\system32\odbcad32.exe。仅填写“系统DSN”,但没有“用户DSN”。

System DSN

1 个答案:

答案 0 :(得分:4)

如果您使用64位Python,这可能是不兼容的。我刚刚在我的机器上测试过类似的东西。

这不是决定性因为这些是不同版本的Python,但它是一个导致遵循。这就是我测试的内容:

<32> 32位MS Access驱动程序上的32位Python 2.7。 连接成功,没有错误。

64位Python 3.4,在32位MS Access驱动程序上。 返回错误:&#34; pyodbc.Error:(&#39; IM002&#39;,&#39; [IM002] [Microsoft] [ODBC驱动程序管理器]数据源na 找不到我,没有指定默认驱动程序(0)(SQLDriverConnect)&#39;)&#34;