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

使用pymssql连接SQL Server遇连接拒绝错误求助

解决pymssql/pyodbc无法连接SQL Server(SSMS可正常连接)的问题

排查及解决步骤

  • 明确SQL Server实例监听端口
    无需配置工具,通过SSMS执行SQL即可查询端口:

    SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID;
    

    获取端口后,在连接字符串中明确指定端口。比如端口为1433时:
    pymssql连接写法:

    conn = pymssql.connect(host='DESKTOP-J8IS63J\SQLEXPRESS,1433', user='user', password='pass', database='DgtalLaundry')
    

    pyodbc连接写法:

    conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=DESKTOP-J8IS63J\SQLEXPRESS,1433;DATABASE=DgtalLaundry;UID=user;PWD=pass')
    
  • 启用SQL Server的TCP/IP连接
    通过注册表检查并修改:
    打开regedit,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQLServer\SuperSocketNetLib\Tcp(注意MSSQL15需匹配你的SQL Server版本),将Enabled值改为1,之后打开services.msc找到SQL Server (SQLEXPRESS)服务重启。

  • 核对连接字符串实例名
    确认SSMS中使用的实例名和代码完全一致,若不确定,可尝试用127.0.0.1,端口号替代实例名进行连接测试。

  • 检查防火墙规则
    临时关闭Windows防火墙测试连接,若恢复正常,需添加允许SQL Server端口(如1433)的入站规则,或允许Python程序通过防火墙。

  • 验证身份验证模式
    在SSMS中右键实例→属性→安全性,确认服务器使用混合身份验证模式(Windows+SQL Server身份验证),避免因仅启用Windows身份验证导致SQL账号无法登录。

内容的提问来源于stack exchange,提问作者Al Mahanad Al Mahdhour

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:55:03