使用Python连接SQL Server 19时遇pyodbc登录超时错误求助
解决Python连接SQL Server 19登录超时问题
更新ODBC驱动
SQL Server 19不建议使用旧版SQL Server驱动,替换为兼容的新版本驱动(如ODBC Driver 17 for SQL Server),修改连接字符串:import pyodbc conn_str = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database}'若未安装对应驱动,直接搜索下载适配SQL Server 19的ODBC驱动包安装即可。
验证服务器配置与地址
- 确认
server变量格式正确:默认实例用主机名/IP,命名实例用主机名\实例名(例如DESKTOP-ABC123\SQLEXPRESS) - 打开SSMS右键服务器→属性→连接,勾选“允许远程连接到此服务器”
- 检查
SQL Server服务状态:在服务管理器中找到对应实例服务,确保处于运行状态
- 确认
补充登录凭据
连接字符串缺少身份验证信息,根据登录方式补充:- SQL身份验证:
conn_str = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};UID={your_username};PWD={your_password}' - Windows身份验证(使用当前系统用户):
conn_str = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};Trusted_Connection=yes'
- SQL身份验证:
排查防火墙与端口
- 开放SQL Server默认端口1433(TCP),允许Python所在机器访问
- 若使用命名实例,启动SQL Server Browser服务,并开放UDP 1434端口
测试基础连接
- 先用SSMS用相同的服务器地址、凭据连接,确认服务器本身可正常访问
- 暂时硬编码服务器名和数据库名到连接字符串,排除变量替换错误
内容的提问来源于stack exchange,提问作者Izumi Rosalyo
相关产品推荐
相关产品推荐

