PDO dblib无法连接ip地址作为" host"参数

时间:2014-09-17 08:33:27

标签: php sql-server pdo

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

使用tsql,这没有任何问题

$ tsql -S 192.168.56.101 -U。\ user -P user

但在PHP中这不起作用。

$ pdo = new PDO(“dblib:host = 192.168.56.101,1433; dbname = OtherC”,“。\ user','user');

我得到的错误是: 错误:SQLSTATE [01002] Adaptive Server连接失败(严重级9)

1 个答案:

答案 0 :(得分:0)

检查这些:

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

    tds version = 8.0

    文字大小= 20971520

    客户端字符集= UTF-8