gpt4 book ai didi

python - PYODBC InterfaceError-未找到数据源名称

转载 作者:行者123 更新时间:2023-12-01 07:09:31 25 4
gpt4 key购买 nike

我尝试使用 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 位
  • 点19.2.3
  • pyodbc-4.0.27
  • Office365 16

了解我还能做什么来将 Python 连接到 ACCESS 数据库真的很有帮助。提前致谢!

最佳答案

根据pyodbc docs你需要设置一个 ODBC 并且可以像这样检查它(正如 @Parfait 所说);

import pyodbc
[x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]

关于python - PYODBC InterfaceError-未找到数据源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58289428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com