我正在尝试使用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)
检查这些:
- 端口分隔符在windows上为",",在linux/Mac上为":"
- 我从未将用户名视为"。''user,但为user
- 在磁盘上找到freetds.conf。它可能存在于多个地方,tsql使用一个,而PHP使用另一个。最好的方法是将它们符号链接到一个通用文件中,并在上面进行测试。请注意,该文件的常见位置是/etc/或/usr/local/etc旁边的~/.freetds.conf/
-
freetds.conf文件中应该有一个[global]部分。放在那里这些行:
tds版本=8.0
文本大小=20971520
客户端字符集=UTF-8