Python pymssql - 连接到命名实例
Posted
技术标签:
【中文标题】Python pymssql - 连接到命名实例【英文标题】:Python pymssql - Connecting to Named Instance 【发布时间】:2016-01-13 18:28:33 【问题描述】:我正在尝试从远程服务器上的 python 3.4 连接到 SQL Server 命名实例,但出现错误。
文件“C:\Scripts\Backups Integrity Report\Backup Integrity Reports.py”,第 269 行,在 conn = pymssql.connect(host=r'hwcvcs01\HDPS', user='My-office\romano', password='PASS', database='CommServ') 文件“pymssql.pyx”,第 636 行,在 pymssql.connect (pymssql.c:10178) pymssql.OperationalError:(20002,b'DB-Lib 错误消息 20002,严重性 9:\n自适应服务器连接失败\n')
其他 SQL 连接没有问题。我还设法使用 Management Studio 从同一远程服务器连接到 SQL。
尝试了不同的端口,尝试连接到主机本身而不是实例,还尝试了 pypyodbc。 可能是什么问题?
【问题讨论】:
检查“SQL Server Browser”服务是否在托管您尝试连接的 SQL Server 实例的计算机上运行。到命名实例的远程连接经常(总是?)需要询问浏览器服务他们应该使用哪个 TCP 端口。 【参考方案1】:对于如下所示的命名实例:
myhost\myinstance,1435
您可以通过 pymssql 连接:
pymssql.connect(host='myhost', server='myinstance', port='1435', user='user', password='pw')
【讨论】:
【参考方案2】:根据 pymssql Connection 类的 pymssql 文档,对于包含数据库 theDatabase 的命名实例,如下所示: 我的主机\我的实例 您可以按如下方式连接: pymssql.connect(host=r'myhost\myinstance', database='theDatabase', user='user', password='pw') r 字符串是所谓的原始字符串,不会将 '' 视为转义。
【讨论】:
这不再起作用了。关于新版本中是否有任何更改的任何想法?以上是关于Python pymssql - 连接到命名实例的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 3.6 和 pymssql 连接到 Sybase 数据库
无法使用 mod_wsgi 从 python wsgi 连接到 pymssql
连接到 SQL 服务器时,Python pymssql 错误“TypeError:'NoneType' 类型的参数不可迭代”