通过SSH端口转发连接SQL Server时pymssql报错求助
问题:pymssql通过SSH端口转发连接特定SQL Server失败
我要访问一台无法直接连接的SQL Server,手里有能访问这台SQL Server的主机的SSH权限。之前一直用SSH LocalForward把SQL Server端口转发到本地127.0.2.3:11433,这种方式一直没问题。但这次执行pymssql.connect("127.0.2.3:11433", "user", "password")时,一直抛出OperationalError错误:
pymssql.exceptions.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:<br /> Adaptive Server connection failed (127.0.2.3)<br /> DB-Lib error message 20002, severity 9:<br /> Adaptive Server connection failed (127.0.2.3)
但有两个情况是正常的:
- 用基于node的
mssql命令行工具可以通过这个SSH转发连接服务器 - 登录到有SSH权限的主机上,调整IP和端口后执行相同操作,能成功访问目标SQL Server
综上,这个问题只有同时满足以下三个条件才会出现:
- 针对某一特定的SQL Server
- 仅使用pymssql连接时
- 通过SSH端口转发的方式连接时
我怀疑这是pymssql的bug,已经在GitHub提交了相关issue。
内容的提问来源于stack exchange,提问作者bluppfisk
相关产品推荐
相关产品推荐

