PDO dblib不能与ip地址连接为“”;主机”;参数


PDO dblib cannot connect with ip address as "host" parameter

我正在尝试使用dblib连接到mssql-db,使用服务器的IP作为DSN中的主机。

使用tsql,这可以毫无问题地工作

$tsql-S 192.168.56.101-U。''用户-P用户

但在PHP中,这是不起作用的。

$pdo=新pdo("dblib:host=1192.168.56.1011433;dbname=OtherC",'.''user','user');

我得到的错误是:错误:SQLSTATE[01002]自适应服务器连接失败(严重性9)

检查这些:

  1. 端口分隔符在windows上为",",在linux/Mac上为":"
  2. 我从未将用户名视为"。''user,但为user
  3. 在磁盘上找到freetds.conf。它可能存在于多个地方,tsql使用一个,而PHP使用另一个。最好的方法是将它们符号链接到一个通用文件中,并在上面进行测试。请注意,该文件的常见位置是/etc/或/usr/local/etc旁边的~/.freetds.conf/
  4. freetds.conf文件中应该有一个[global]部分。放在那里这些行:

    tds版本=8.0

    文本大小=20971520

    客户端字符集=UTF-8