我在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
答案 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”