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

使用pyodbc连接SQL Server报IM002错误无法连接的解决方案求助

报错排查解决流程

1 先修正代码里的连接串语法错误

你的代码拼接连接串时SERVER参数后缺少分隔分号,导致连接串格式解析失败,这是最优先要改的问题:

# 错误写法
connectionString='DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+' DATABASE='+database+';UID='+username+';PWD='+password
# 修正后写法,SERVER参数后加;分隔
connectionString='DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password

改完先运行测试,如果还是报错再往下走。

2 检查系统是否安装对应ODBC驱动

这个报错的核心原因90%都是本地没有安装对应版本的SQL Server ODBC驱动,按以下步骤检查:

  • Windows系统:打开「控制面板」→「管理工具」→ 选择和你Python位数一致的「ODBC 数据源」(32位Python选32位,64位选64位) → 切换到「驱动程序」标签页,查看列表中是否存在ODBC Driver 17 for SQL Server
  • 没有对应驱动的话,安装匹配位数的ODBC Driver 17 for SQL Server即可。

3 适配本地已有的驱动版本

如果本地安装的是其他版本的ODBC SQL Server驱动(比如11、13、18版本),直接修改连接串中DRIVER的版本号为你本地实际存在的版本即可,示例:

# 比如本地装的是18版本的驱动,就改成
connectionString='DRIVER={ODBC Driver 18 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password+';Encrypt=No'

注:高版本ODBC驱动默认要求数据库连接加密,如果你的数据库未开启加密,需要在连接串末尾加Encrypt=No参数避免连接失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:06:03