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

使用Python SQLAlchemy遇Driver语法错误,已装驱动仍报pyodbc错

pyodbc IM012驱动语法错误解决方法

错误信息

(pyodbc.Error) ('IM012', '[IM012] [Microsoft][ODBC Driver Manager] DRIVER keyword syntax error (0) (SQLDriverConnect)')

问题代码

import pyodbc
from sqlalchemy import create_engine
connection_string = (
'mssql+pyodbc://@server_name/database_name? 
driver=ODBC+Driver+17+for+SQL+Server;Trusted_Connection=yes')
engine = create_engine(connection_string)
engine.connect()

问题原因

  1. SQLAlchemy的mssql+pyodbc连接字符串遵循URL格式规则,查询参数需用&分隔,而非ODBC原生的;,直接使用分号会触发驱动语法解析错误。
  2. 连接字符串中的换行会破坏格式完整性,导致参数解析失败。
  3. @server_name需替换为实际的SQL Server实例名称(如localhost、DESKTOP-XXX\SQLEXPRESS这类具体标识)。

修正后的代码

import pyodbc
from sqlalchemy import create_engine
# 替换@后的内容为实际服务器名,去除换行,用&分隔ODBC参数
connection_string = 'mssql+pyodbc://@实际服务器名/数据库名?driver=ODBC+Driver+17+for+SQL+Server&Trusted_Connection=yes'
engine = create_engine(connection_string)
engine.connect()

额外说明

你已通过pyodbc.drivers()确认ODBC Driver 17 for SQL Server已安装,这一步无需调整,只需确保替换后的服务器名、数据库名与实际环境匹配即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:32:44