当前位置: 首页 > 面试题库 >

无法通过pymssql连接到SQL Server

鲁博瀚
2023-03-14
问题内容

我试图通过pymssql从本地服务器上的* nix系统连接到Windows XP系统上运行的SQL Server。但是,连接失败,如下所示

db = pymssql.connect(host='192.168.1.102',user='www',password='test',database='TestDB')
Traceback (most recent call last):

File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 457, in pymssql.connect (pymssql.c:6041)
raise InterfaceError(e[0])
pymssql.InterfaceError: Connection to the database failed for an unknown reason.

我尝试过的事情:

  1. 将SQL Server和浏览器设置为作为网络服务器运行。
  2. 设置用户“ www”。我还在SQL Studio中本地测试了该用户。
  3. 关闭Windows防火墙(当然是暂时关闭)。

我很想念-我只是不知道那是什么。我尝试了Windows上的所有无限菜单选项,但无济于事。我注意到的一件事是,如果Windows防火墙处于打开状态(我为SQL
Server设置了例外),则python会暂停很长时间,然后给出错误消息。如果防火墙关闭,则立即发生错误。

我可以在SQL Server中查看任何日志吗?


问题答案:

得到它了!我认为问题的根源不是没有给予Free TDS所需的关注。免费的TDS显然是pymssql的驱动程序,并提供与其他数据库的连接-SQL
Server就是其中之一。

freetds.conf文件位于我的系统(Mac Book Pro)上的/ usr / local / etc中。

该文件包含安装中的默认值。但是,我之前已经添加了一个定义,以便可以连接但忘记了它,但不幸的是没有对此做任何记录。

无论如何,这是我附加到freetds.conf的示例:

[SomeDB]
    host = 192.168.1.102
    port = 1219
    tds version = 7.0

但是,令人费解的是我将端口设置为1219。我在SQL Studio中将其手动设置为1433。另外,我使用的是TDS版本0.82,所以我不知道7.0如何适合。

接下来,我使用’tsql’测试了连接性,如下所示:

tsql -S SomeDB -U www

我输入密码并获得一个允许进行SQL查询的命令行。

接下来,我测试了使用pymssql的连接,如下所示:

db = pymssql.connect(host='SomeDB',user='www',password='cylon',database='TestDB')

如您所见,我需要使用freetds.conf文件中的主机名,而不是直接使用IP。然后,我使用附加的python代码测试了一个简单的查询,以确保可以从数据库中读取数据。

我希望这对以后的人有所帮助。



 类似资料:
  • 问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;

  • 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi

  • 问题内容: 我最近安装了Elasticsearch,并且在开始的几天里一切正常,但是今天以某种方式停止了工作 当我启动该服务时,它声称很好… 但后来我明白了 查看elasticsearch日志: 看起来有关于Java VM的警告;那可能是问题吗?我还应该尝试/看看什么? 问题答案: 1) 使用linux中的命令 检查端口9200的状态 。 就我而言,以下是启动时的结果。 对我不是服务,否则找到正在

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 问题内容: 我在通过Ruby-Watir Webdriver连接到Tor时遇到问题。 我使用Tor浏览器套件。问题是,当我尝试通过Watir(Selenium)连接时,似乎无法打开Tor而不是常规的Firefox。 在研究类似问题时,我尝试了以下方法: 当我使用上述代码时,我仍然会打开普通的firefox浏览器,并且无法连接到洋葱站点。 有什么想法吗?是否需要将Tor浏览器连接到我的webdriv

  • 我正在尝试将sonarqube(版本5.1.2)与intellij(2016.2)集成。我已经添加了sonarLint插件。当我试图将一个sonar服务器添加到sonarLint设置中时,它会询问sonar服务器的用户名和密码以及其他细节,如URL。但它无法连接到声纳服务器,并出现错误:请求失败:https://example.com/api/system/status

  • 我有两台机器:machine foo()运行redis服务器,而machine bar()运行通过Jedis连接到foo的java应用程序。当给jedis提供地址时,一切都很好。 但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:的ssh隧道 现在,从bar中,我可以直接在或通过隧道在成功地telnet到foo上的redis。对于jedis,如果