您的位置:首页 > 数据库

pymssql 连接sql server express

2017-06-19 00:00 721 查看
用pymssql链接sql server express 2016死活连接不上,报告错误:

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)\n'

sql server managerment studio是正常连接的; pymssql连接远程的sql server 2014 标准版也是正常的。pymssql的github上有几个关于此的issue都被不由分说的关闭了,似乎是个不言而喻的使用问题。然而一番搜索,没有太多头绪。后来在stack over flow找到一个帖子:
pymssql.OperationalError: DB-Lib error message 20009, severity 9
,按帖子的说法,在sql server的配置管理中,启用tcp/ip协议,并给127.0.0.1指定1433端口即可。然而我试了半天,不起作用。
最终在这篇文章中找到答案:
How to: Configure Express to accept remote connections
原来除了启用tcp/ip协议,还需启动SQL Browser Service

总结如下:

打开“SQL Server Configuration Manager”,找不到的话,可在计算机管理 -> 服务和应用程序中找到.

在SQL Server Network Configuration -> Protocols for SQLEXPRESS中启用TCP/IP协议

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

重启sql server服务

重要 ,启动SQL Browser Service。sql server express默认是禁止该服务,改为”自动“,并启动它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息