【发布时间】:2019-12-31 13:19:37
【问题描述】:
我有一个数据库服务器,可以通过远程桌面登录到服务器机器来访问它。这是我们手动执行的操作:
使用远程桌面从本地登录机器。 在连接的机器上打开数据库客户端。 然后连接数据库。
现在,我需要使用 python 连接到这个数据库。
我已经尝试过什么?.. 以下适用于我没有远程连接的所有数据库。
conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};SERVER=<server name>;database=<DB name>;UID=<user>;PWD=<pwd>")
错误:
pyodbc.OperationalError: ('08001', u'[08001] [Microsoft][ODBC Driver 17 for SQL Server]命名管道提供程序:无法打开与 SQL 服务器 [53]。 (53) (SQLDriverConnect); [08001] [微软] [ODBC Driver 17 for SQL Server]登录超时已过期(0); [08001] [Microsoft][ODBC Driver 17 for SQL Server]网络相关或 建立连接时发生特定于实例的错误 到 SQL Server。服务器未找到或无法访问。检查是否 实例名称是正确的,并且如果 SQL Server 配置为允许 远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 (53)')
【问题讨论】:
-
我无法直接连接到它。我需要远程登录一台机器,然后在那里打开 SQL 助手客户端以手动访问它。
-
在大多数情况下,两台服务器/计算机将位于同一网络中,并且可以通过 IP 相互通信。我有一个类似的设置,我通过 RDP 访问 SQL 服务器,但由于它们在同一个网络中并且之间没有防火墙,我可以运行 python 脚本通过其主机名访问 SQL 服务器并远程运行查询
标签: python sql-server