擅长:python、mysql、java
<p>明白了!我认为问题的根源是没有给予免费TDS所需的关注。免费TDS显然是PymSQL背后的驱动程序,并提供与其他数据库的连接—SQL Server就是其中之一。</p>
<p>freetds.conf文件位于我的系统(Mac Book Pro)上的/usr/local/etc中。</p>
<p>此文件包含安装的默认值。不过,我之前添加了一个定义,这样我可以连接,但忘记了它,不幸的是没有做笔记。</p>
<p>无论如何,下面是我附加到freetds.conf的示例:</p>
<pre><code>[SomeDB]
host = 192.168.1.102
port = 1219
tds version = 7.0
</code></pre>
<p>然而,令人费解的是,我将端口设置为1219。我在SQL Studio中将它手动设置为1433。另外,我正在使用TDS版本0.82,所以我不知道7.0是如何适应的。</p>
<p>接下来,我使用“tsql”测试连接,如下所示:</p>
<pre><code>tsql -S SomeDB -U www
</code></pre>
<p>我输入密码并得到一个允许SQL查询的命令行。</p>
<p>接下来,我使用pymssql测试了连接,如下所示:</p>
<pre><code>db = pymssql.connect(host='SomeDB',user='www',password='cylon',database='TestDB')
</code></pre>
<p>如您所见,我需要使用freetds.conf文件中的主机名,而不是直接使用IP。然后,我用附加的python代码测试了一个简单的查询,以确保我可以从数据库中读取数据。</p>
<p>我希望这对将来的其他人有帮助。</p>