You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接MSSQL数据库报错求助:ODBC驱动未找到

问题排查:Python连接MSSQL数据库失败

问题描述

尝试用Python连接MSSQL数据库,编写代码如下:

import sqlalchemy as sal
from sqlalchemy import create_engine
import pyodbc 

##conn = pyodbc.connect('Driver={SQL Server Native client 11.0};server=localhost;database=Nifty;trusted_connection=yes;')

engine = sal.create_engine('mssql+pyodbc://localhost/Nifty?driver=SQL+Server+Native+client+11.0?Trusted_Connection=yes')

engine.execute('select  top 2 * from [dbo].ABC')

执行后触发错误:

InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

排查步骤与解决方案

1. 修正连接字符串格式错误

SQLAlchemy的pyodbc连接字符串中,多参数分隔符需用&而非第二个?,同时驱动名称需严格匹配系统安装的驱动名:

engine = sal.create_engine('mssql+pyodbc://localhost/Nifty?driver=SQL+Server+Native+Client+11.0&Trusted_Connection=yes')

注意:驱动名称里的client需大写为Client,保证和ODBC驱动的官方命名一致。

2. 确认本地已安装对应ODBC驱动

错误提示核心原因是系统找不到指定的ODBC驱动:

  • 打开对应位数的ODBC数据源管理器(和你的Python版本一致,64位或32位),在「驱动」标签页查看是否存在SQL Server Native Client 11.0。
  • 若未安装,可安装对应驱动;也可改用更通用的新版驱动,比如ODBC Driver 17 for SQL Server,连接字符串改为:
engine = sal.create_engine('mssql+pyodbc://localhost/Nifty?driver=ODBC+Driver+17+for+SQL+Server&Trusted_Connection=yes')

3. 验证连接参数准确性

  • 确认服务器地址localhost正确,若为SQL Server命名实例,需写成localhost\实例名。
  • 确认数据库名称Nifty存在且拼写无误。
  • 若使用SQL Server身份验证(非Windows身份验证),需补充账号密码参数:
engine = sal.create_engine('mssql+pyodbc://用户名:密码@localhost/Nifty?driver=ODBC+Driver+17+for+SQL+Server')

4. 先通过pyodbc直接测试连接

先跳过SQLAlchemy,用pyodbc直接连接验证驱动和参数是否正常:

import pyodbc
conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};Server=localhost;Database=Nifty;Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('select top 2 * from [dbo].ABC')
for row in cursor:
    print(row)
conn.close()

如果这段代码能正常执行,再将参数迁移到SQLAlchemy的连接字符串中即可。

内容的提问来源于stack exchange,提问作者user11740857

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:05:21