Python连接o访问错误

Python连接o访问错误,python,ms-access-2007,Python,Ms Access 2007,我正在使用Python 2.7.8 32位调用MS Access 2007 下面是我使用的代码: import sys import pypyodbc import os import pyodbc conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=D:\Access\Geocoding.accdb;") cnxn = pyodbc.connect(conn) 我收到错误消息: 回

我正在使用Python 2.7.8 32位调用MS Access 2007

下面是我使用的代码:

import sys
import pypyodbc
import os
import pyodbc

conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=D:\Access\Geocoding.accdb;")
cnxn   = pyodbc.connect(conn)
我收到错误消息:

回溯(最近一次呼叫最后一次): 文件“D:\Access\get\u Access.py”,第13行,在 conn=pyodbc.connect(r“DRIVER={Microsoft Access驱动程序(*.mdb,*.accdb)};Dbq=D:\Access\Geocoding.accdb;”) 错误:('IM002'、'[IM002][Microsoft][ODBC驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序(0)(SQLDriverConnection)'))


我在网上搜索了一会儿,没有发现代码有任何错误

在数据库路径中尝试使用双斜杠而不是斜杠。并将DBQ全部大写

您的路径应该如下所示:

DBQ=D:\\Access\\Geocoding.accdb;
我解决了这个问题。 Access数据库是在Access 2013中创建的。我正在尝试使用Python在Access 2007中连接它,这就是问题所在


我创建了一个Access 2007数据库,并将所有数据复制到其中。Python可以毫无问题地连接到它

如果我只运行第一行代码,可能会重复,它会给出相同的错误消息。我使用pyodbc在连接MS Access 2007(.accdb)数据库时尝试了该解决方案,但没有解决问题。OP使用,
r
,将转义为单斜杠。我改为双斜杠,并尝试了带或不带“r”的两种方法,仍然不起作用。给出相同的错误:文件“D:\Access\get_Access.py”,第16行,在conn=pyodbc.connect(r“DRIVER={Microsoft Access DRIVER(*.mdb,*.accdb)};DBQ=D:\\Access\\Geocoding.accdb;”)中。错误:('IM002','IM002][Microsoft][ODBC DRIVER Manager]数据源名称未找到且未指定默认驱动程序(0)(SQLDriverConnect 0)),这不是原因,.accdb文件是Access 2007-2013文件类型。这些年之间没有区别。是的,这不应该是原因。但是,我可以使用相同的代码连接Access 2007中创建的Access数据库,因此您的计算机上有两个MS Access安装:2007和2013?我希望您不要混淆Access 2003和使用
.mdb
扩展名的早期文件类型。另外,请注意,Python连接到Jet/ACE SQL引擎(而不是Access GUI程序)。Access是一个数据库,这是一个用词不当的说法。它实际上是一个连接到Windows Jet/ACE SQL(.dll文件)的控制台,与PHPMyAdmin连接到MySQL、PgAdmin连接到Postgre或Management Studio连接到SQL Server没有什么不同。Access 2013文件是从不同的环境创建的。我使用python调用Access的机器只安装了Access 2007