首页 > 解决方案 > 尝试使用 Python 连接 MS Access 数据库时出错

问题描述

我正在尝试使用以下代码与 MS Access 数据库建立连接,但不断出现错误。

import pyodbc

conn = pyodbc.connect(r'Driver ={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ="C:\Users\XYZ\Shopping_History.accdb;"')
csr = conn. cursor()
csr.execute('select * from Shopping_Details')
for row in csr.fetchall():
    print(row)

我面临的错误是:

Traceback (most recent call last):
  File "C:/Users/XYZ/.PyCharmCE2019.1/config/scratches/Database_Connection.py", line 3, in <module>
    conn = pyodbc.connect(r'Driver ={Microsoft Access Driver (*.mdb, *.accdb)};' r'DBQ="C:\Users\XYZ\Shopping_History.accdb;"')
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect); [IM002] [Microsoft][ODBC Driver Manager] Invalid connection string attribute (0)')

Process finished with exit code 1

获取 pyodbc.drivers() 的以下输出

>>> import pyodbc
>>> pyodbc.drivers()
['Driver da Microsoft para arquivos texto (*.txt; *.csv)', 'Driver do Microsoft Access (*.mdb)', 'Driver do Microsoft dBase (*.dbf)', 'Driver do Microsoft Excel(*.xls)', 'Driver do Microsoft Paradox (*.db )', 'Microsoft Access Driver (*.mdb)', 'Microsoft Access-Treiber (*.mdb)', 'Microsoft dBase Driver (*.dbf)', 'Microsoft dBase-Treiber (*.dbf)', 'Microsoft Excel Driver (*.xls)', 'Microsoft Excel-Treiber (*.xls)', 'Microsoft ODBC for Oracle', 'Microsoft Paradox Driver (*.db )', 'Microsoft Paradox-Treiber (*.db )', 'Microsoft Text Driver (*.txt; *.csv)', 'Microsoft Text-Treiber (*.txt; *.csv)', 'SQL Server', 'ODBC Driver 17 for SQL Server']
>>> 

请帮我解决这个问题。提前致谢。

标签: pythonpython-3.xpyodbc

解决方案


推荐阅读