pymssql 无法连接到 ssh 转发的 SQL Server

问题描述 投票:0回答:1

我需要访问位于我无法直接访问的网络中的 SQL Server。但是,我可以通过 SSH 访问有权访问此 SQL Server 的主机。在其他情况下,我使用 SSH LocalForward 在 127.0.2.3:11433 上本地转发 SQL Server 的端口,效果很好。

在这个特定的实例中,然而,它没有,并且在执行

时它总是抛出一个
OperationalError

pymssql.connect("127.0.2.3:11433", "user", "password")

pymssql.exceptions.OperationalError:(20002,b'DB-Lib 错误消息 20002,严重性 9:
Adaptive Server 连接失败 (127.0.2.3)
DB-Lib 错误消息 20002,严重性 9:
Adaptive Server 连接失败 (127.0.2.3)

但是,如果我使用基于节点的

mssql
命令行实用程序,我可以连接到 SSH 转发的服务器。

当我进入可以 SSH 访问的服务器并从那里执行相同的操作(当然调整端口和 IP 地址)时,我确实可以访问。

简而言之,问题发生在:

  • 一个特定的 SQL Server
  • 仅使用 pymssql 时
  • 当通过 ssh 转发时

这可能是 pymssql 中的一个错误吗?在此提交:https://github.com/pymssql/pymssql/issues/888

sql-server ssh pymssql
1个回答
0
投票

首先请更新到最新的 pymssql 版本 - 2.3.0。 然后,尝试不同的 tds_version,如下所示 #860。 如果仍然失败,则设置环境变量TDSDUMP/TDSCONFIIG并尝试分析日志。请参阅FreeTDS 日志记录

© www.soinside.com 2019 - 2024. All rights reserved.