【发布时间】:2016-02-07 05:16:33
【问题描述】:
我尝试在 VM centos6 x64 中将 sqlserver 与 pdo dblib 连接。运行下面的php页面:
try{
$dsn = "dblib:host=192.168.5.101;dbname=webfilter";
$user = "myuser";
$password = "mypass";
$db = new PDO($dsn, $user, $password);
echo "connection successfull";
}
catch(Exception $e)
{
echo "error message:".$e->getMessage();
}
并且此页面打印:“错误消息:SQLSTATE[HY000] 无法连接:Adaptive Server 不可用或不存在(严重性 9)” 这是什么意思 ?我在网上进行了简单的搜索,但没有明确的解决方案,它们都没有帮助我的问题与连接字符串无关。
这里有一些 phpinfo 内容: PDO 驱动:dblib、mysql、sqlite
口味:freetds
(我可以在windows主机上ping和登录sql server)
已编辑 尝试使用 tsql 命令连接:
root@company-gwfilter:~ # tsql -S 192.168.5.101 -U myuser -P 'mypass' -L webfilter
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, "Connection refused"
There was a problem connecting to the server
至少我现在可以看到有问题..但找不到问题..我检查了端口 sqlserver 1433,并使用此主机设置编辑 freetds.conf 但仍然出现相同的错误
【问题讨论】:
-
你能从你的服务器ping这个ip
192.168.5.101吗??? -
是的,我可以 ping 并连接 mssql
-
查看link
-
我检查并编辑了 freetds.conf 并重新启动了 apache 但还是一样