PHP / PDO错误:SQLSTATE [HY000]无法连接:Adaptive Server不可用或不存在(严重级9)

时间:2015-08-04 20:35:47

标签: php sql-server pdo freetds

我在CentOS 6上运行PHP 5.5试图通过PDO连接到MS SQL Server数据库。我搜索了大约20个相同错误消息的不同答案,并在此处尝试了其中的每一个。当我尝试从PDO连接时,出现以下错误:

  

SQLSTATE [HY000]无法连接:Adaptive Server不可用或不存在(严重级9)

我可以通过命令行上的FreeTDS连接完全没问题

head

我尝试在TDSVER=7.0 tsql -H 192.168.5.57 -p 1433 -U testuser中设置tds version = 7.0,但仍然会收到同样的错误。

我尝试连接到不同的MS SQL Server并且每次都得到相同的东西。我在Rackspace Cloud服务器上尝试过相同的代码而没有任何问题。所以PDO / PHP和FreeTDS之间的某些东西似乎没有正确说话,但我不知道如何追踪它。

freetds.conf

3 个答案:

答案 0 :(得分:1)

尝试从$hostname删除端口并将其添加到freetds.conf。

[192.168.5.57]
    host = 192.168.5.57
    port = 1433

答案 1 :(得分:1)

我们在尝试连接到我们未经授权的数据库时遇到此错误。一旦我们要求添加到白名单(不确定它是在防火墙或数据库级别),那么我们可以连接好。

检查IP地址是否没有限制。

答案 2 :(得分:0)

根据PHP.net

更正您的连接DSN
  

“SQLSRV:服务器=本地主机;数据库= TESTDB”