pymssql连接sql server express 报错:Unable to connect: Adaptive Server is unavailable

本文详细记录了解决使用pymssql库连接SQL Server Express遇到的连接失败问题的过程。通过启用TCP/IP协议、设置正确端口、启动SQLBrowser服务等步骤,最终实现了稳定连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题真是快要找遍全网了,困扰许久,搜出来很多遇到同样问题的,但给出的方法都不完整,最后真是费劲周折。好了说正事:

用pymssql链接sql server express 死活连接不上,报告错误:

b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist\nNet-Lib error during Unknown error (10035)

1.sql server managerment studio是正常连接的; pymssql连接远程的sql server 2014 标准版也是正常的。

2.pymssql的github上有几个关于此的issue都被不由分说的关闭了,似乎是个不言而喻的使用问题。然而一番搜索,没有太多头绪。后来在stack over flow找到一个帖子: pymssql.OperationalError: DB-Lib error message 20009, severity 9 ,按帖子的说法,在sql server的配置管理中,启用tcp/ip协议,并给127.0.0.1指定1433端口即可。

这里又出现个问题是,在开始菜单中没有找到sql server的配置管理,搜索后发现在‘C:\Windows\SysWOW64’找到SQLServerManager10.msc

接着按照上面的方法,试了还是不起作用。 最终在这篇文章中找到答案: How to: Configure Express to accept remote connections 原来除了启用tcp/ip协议,还需启动SQL Browser Service

注意:启用TCP/IP协议时,不能只看到这个状态是否启用,要双击进到里面的子标签“IP地址”,修改里面ip为127.0.0.1的启用状态和最后一个IPALL的TCP端口号修改为1433

**

3.完整步骤如下:

**

3.1 打开“SQL Server Configuration Manager”,找不到的话,可在计算机管理 -> 服务和应用程序中找到.
3.2 在SQL Server Network Configuration -> Protocols for SQLEXPRESS中启用TCP/IP协议, TCP/IP -> Properties -> IP Addresses 修改里面ip为127.0.0.1的启用状态。

3.3 TCP/IP -> Properties -> IP Addresses,在TCP/IP节点上打开属性窗口,在IPALL条目中,清除TCP Dynamic Ports的值,在TCP Port中填写1433,sql server默认的端口号是1433。

3.4 重要 ,启动SQL Browser Service。sql server express默认是禁止该服务,改为”自动“,并启动它。

3.5重启sql server服务
在这里插入图片描述

C:\Users\27343\miniconda3\envs\yolov8\python.exe C:\Users\27343\PycharmProjects\pythonProject\DOME01\数据库操作.py Traceback (most recent call last): File "src\\pymssql\\_pymssql.pyx", line 650, in pymssql._pymssql.connect File "src\\pymssql\\_mssql.pyx", line 2158, in pymssql._mssql.connect File "src\\pymssql\\_mssql.pyx", line 712, in pymssql._mssql.MSSQLConnection.__init__ File "src\\pymssql\\_mssql.pyx", line 1884, in pymssql._mssql.maybe_raise_MSSQLDatabaseException File "src\\pymssql\\_mssql.pyx", line 1901, in pymssql._mssql.raise_MSSQLDatabaseException pymssql._mssql.MSSQLDatabaseException: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (192.168.45.187)\nNet-Lib error during Unknown error (10061)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (192.168.45.187)\nNet-Lib error during Unknown error (10061)\n') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\27343\PycharmProjects\pythonProject\DOME01\数据库操作.py", line 3, in <module> conn = pymssql.connect(server='192.168.45.187:1433', user='sa', password='3312552097Qq@', database='快递') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src\\pymssql\\_pymssql.pyx", line 659, in pymssql._pymssql.connect pymssql.exceptions.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (192.168.45.187)\nNet-Lib error during Unknown error (10061)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (192.168.45.187)\nNet-Lib error during Unknown error (10061)\n') 进程已结束,退出代码为 1
最新发布
03-10
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值