<p>我正试图连接到在我的计算机上运行的SQL Server的本地实例。我可以用这个代码从我们的服务器连接到一个本地实例,但是在我的本地机器上失败了。在</p>
<p>我已经在SQLServer配置中启用了命名管道和所有IP。在</p>
<p>我使用的代码如下:</p>
<pre><code>from pymssql import connect
server = r'.\SQLEXPRESS2014' # I've also tried MORGANT-PC\SQLEXPRESS and SQLEXPRESS2014
username = 'MyUserName'
password = 'MyPassword'
master_database_name = 'SuperSecretDatabase'
port = 5000
server_args = {'host': server, 'user': username, 'password': password,
'database': master_database_name, 'port': port} # I've tried having the first key be both host and server, because pymssql's docs are unclear on the difference.
master_database = connect(**server_args)
</code></pre>
<p>如果使用实例名称,则会出现以下错误:</p>
^{pr2}$
<p>我把端口设置为5000,这样我就可以用</p>
<pre><code>server = 127.0.0.1
port = 5000
</code></pre>
<p>失败,错误消息略有不同:</p>
<pre><code>pymssql.OperationalError: (20009, 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')
</code></pre>
<p>我在这里读到了很多答案,大多数答案似乎都表明这是FreeTDS的问题,但我使用的是Windows8.1,所以我没有FreeTDS。在</p>
<p>我尝试过用主机\实例名与<a href="https://msdn.microsoft.com/en-us/library/ms162773.aspx" rel="nofollow">sqlcmd</a>连接,效果很好。它也适用于SSMS。在</p>
<p>我尝试过将<code>.\SQLEXPRESS2014</code>同时传递给<code>host</code>和{<cd3>}参数,<code>pymssql.connect()</code>中的这两个参数都失败了,并出现了相同的错误。在</p>
<p>我曾短暂地尝试过使用<code>adodbapi</code>,但得到的错误消息完全相同。在</p>