【发布时间】:2020-12-14 14:01:38
【问题描述】:
我想连接到我的主机系统上的 MS Acces 数据库。 我在 jupyter notebook 中使用 Python 3.7。当我连接到引擎时,出现异常 InterfaceError。
我的代码:
import urllib
from sqlalchemy import create_engine
connection_string = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ=./Datenbank1.accdb;'
)
connect_str = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(connection_string)}"
engine = create_engine(connect_str, echo=True)
engine.connect()
InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben (0) (SQLDriverConnect)')(此错误的背景: http://sqlalche.me/e/13/rvf5)
未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')
你能帮我找出错误吗? 也许我缺少正确的驱动程序,但我不知道如何安装它
【问题讨论】:
-
查看
pyodbc.drivers()返回的列表,了解您的 Python 应用程序可以使用哪些 ODBC 驱动程序。 -
好的,我得到一个包含两个驱动程序的列表 ['SQL Server'、'ODBC Driver 17 for SQL Server']。如何添加新的 Microsoft 驱动程序?
-
该列表表明您正在运行 64 位 Python,因此您可以从 here 下载 64 位 Access 驱动程序。
-
好的,这行得通。现在我有以下驱动程序:['SQL Server'、'ODBC Driver 17 for SQL Server'、'Microsoft Access Driver (.mdb, *.accdb)'、'Microsoft Excel Driver (.xls , .xlsx, *.xlsm, *.xlsb)', 'Microsoft Access dBASE 驱动程序 (.dbf, .ndx, *.mdx)', 'Microsoft Access 文本驱动程序 (.dbf, .ndx, *.mdx)' i>.txt, *.csv)'] 但现在我得到另一个错误stackoverflow.com/questions/65301510/…
标签: python ms-access sqlalchemy driver pyodbc