我试图使用pyodbc将Python连接到MS Access数据库,但每次都会出现以下错误:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
以下是我编写的将Python连接到MS Access的代码:
import pyodbc
conn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\PILOT_DATA.accdb;')
cursor = conn.cursor()
cursor.execute('select * from p_inventor')
for row in cursor.fetchall():
print (row)
根据错误信息,它无法找到数据源名称,所以我将“DRIVER”更改为“DSN”。
import pyodbc
conn = pyodbc.connect(r'DSN={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\PILOT_DATA.accdb;')
cursor = conn.cursor()
cursor.execute('select * from p_inventor')
for row in cursor.fetchall():
print (row)
但这并没有帮助。我收到了以下错误:
pyodbc.Error: ('IM010', '[IM010] [Microsoft][ODBC Driver Manager] Data source name too long (0) (SQLDriverConnect)')
我尝试过的另一个解决方法是同时使用Python 32位和64位。
以下是版本详情:
- Python 3.7.4 64位
- pip 19.2.3
- pyodbc-4.0.27
- Office365 16
非常希望知道还有什么其他方法可以将Python连接到ACCESS数据库。 提前致谢!
pyodbc.drivers()
检查可用的驱动程序。 - Parfait