使用PHP连接到SQL Server时出现错误08001

时间:2014-12-31 14:52:37

标签: php sql sqlsrv

这是我的问题,我有这样的连接句柄:

$dbSrvName = 'servername';
    $dbName = 'database';
    $dbUser = 'user';
    $dbPass = 'password';

    $dbInfo = array(
        'Database' => $dbName,
        'UID' => $dbUser,
        'PWD' => $dbPass            
    );

    $this->dbConn = sqlsrv_connect($dbSrvName, $dbInfo);
    if(!$this->dbConn)
    {
        die(print_r( sqlsrv_errors(), true), 1);
    }    

当我从sqlsrv_errors()触发输出时,我收到以下消息:

  

数组([0] =>数组([0] => 08001 [SQLSTATE] => 08001 [1] => 26   [code] => 26 [2] => [Microsoft] [SQL Server Native Client 10.0]客户端   无法建立连接,因为在此期间遇到错误   在登录前握手。常见原因包括客户试图   连接到不受支持的SQL Server版本,服务器太忙了   接受新连接或资源限制(内存或最大值   允许连接)在服务器上。 [message] => [微软] [SQL   Server Native Client 10.0]客户端无法建立连接   因为在登录前握手期间遇到错误。   常见原因包括客户端尝试连接到不受支持的   SQL Server的版本,服务器太忙,无法接受新的连接或者   资源限制(内存或允许的最大连接数)   服务器。 )[1] =>数组([0] => 08001 [SQLSTATE] => 08001 [1] => 10054   [code] => 10054 [2] => [Microsoft] [SQL Server Native Client 10.0] TCP   提供者:远程强制关闭现有连接   主办。 [message] => [Microsoft] [SQL Server Native Client 10.0] TCP   提供者:远程强制关闭现有连接   主办。 )[2] =>数组([0] => 08001 [SQLSTATE] => 08001 [1] => 26   [code] => 26 [2] => [Microsoft] [SQL Server Native Client 10.0]客户端   无法建立连接[message] => [微软] [SQL Server   Native Client 10.0]客户端无法建立连接)[3] =>   数组([0] => 08001 [SQLSTATE] => 08001 [1] => 10054 [代码] => 10054   [2] => [Microsoft] [SQL Server Native Client 10.0]客户端无法   由于prelogin失败而建立连接[message] =>   [Microsoft] [SQL Server Native Client 10.0]客户端无法建立   由于prelogin失败导致连接))[2014-12-31 08:35:25]

使用的SQLSRV:      php_sqlsrv_53_ts_vc9.dll

所以我担心SQL的版本与此版本的sqlsrv不兼容。有什么想法吗?

提前谢谢你,新年快乐!

2 个答案:

答案 0 :(得分:0)

我猜你正在尝试远程连接到sql server。您需要确保您的SQL Server配置实际上是可行的。

然后,您需要确保您尝试连接的用户帐户具有适当的权限

然后需要在服务器上打开防火墙...

这是一个要检查的简短列表。

Can't Connect Remotely

答案 1 :(得分:0)

实际上,这是一个误解!我尝试连接的数据库是Oracle。所以PHP库不兼容。

非常感谢...