python - 尝试使用 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']
>>>
请帮我解决这个问题。提前致谢。
解决方案
推荐阅读
- c++ - C++/Cmake - 无法编译 MySQL 连接器
- spring-boot - Spring Integration HttpOutbound 在从服务器接收到 http 标头 ETag: 1 时抛出触发 ErrorChannel
- python - 根据之前的分类对文本进行分类
- electron - 在 Windows 上构建 Atom 文本编辑器失败
- django - 从 Django 中删除模板
- nativescript - Nativescript 错误:执行 webpack 失败,退出代码为 1
- javascript - 发出 GET 请求时向 axios 添加标头字段后的 CORS 问题
- javascript - 类组件不是每次都收到道具
- javascript - 如何在页面上绘制多个(动态生成的)图表(使用 chartjs)但一次只显示一个
- git - 为什么在我的迁移中通过 VS 代码中的终端创建分支时出现错误