Ошибка 08001 при подключении к SQL Server с использованием PHP

0

Вот моя проблема: у меня есть мои связи:

$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 10.0] Клиент не может чтобы установить соединение, потому что ошибка возникла во время рукопожатий до входа в систему. Общие причины включают в себя попытку клиента подключиться к неподдерживаемой версии SQL Server, сервер слишком занят, чтобы принимать новые подключения или ограничение ресурсов (память или максимально разрешенные подключения) на сервере. [message] => [Microsoft] [Собственный клиент SQL Server 10.0] Клиент не смог установить соединение, потому что ошибка возникла во время рукопожатий до входа в систему. Общие причины включают попытку клиента подключиться к неподдерживаемой версии SQL Server, сервер слишком занят, чтобы принять новые соединения или ограничение ресурсов (память или максимально разрешенные соединения) на сервере.) [1] => Array ([0] => 08001 [SQLSTATE] => 08001 [1] => 10054 [code] => 10054 [ 2] => [Microsoft] [Собственный клиент SQL Server 10.0] Поставщик TCP: существующее соединение было принудительно закрыто d удаленным хостом. [message] => [Microsoft] [Собственный клиент SQL Server 10.0] Поставщик TCP: существующее соединение было принудительно закрыто удаленным хостом. ) [2] => Массив ([0] => 08001 [SQLSTATE] => 08001 [1] => 26 [code] => 26 [2] => [Microsoft] [Собственный клиент SQL Server 10.0] Клиент не может установить соединение [сообщение] => [Microsoft] [Собственный клиент SQL Server 10.0] Клиент не может установить соединение) [3] => Массив ([0] => 08001 [SQLSTATE] => 08001 [1] => 10054 [код ] => 10054 [2] => [Microsoft] [Собственный клиент SQL Server 10.0] Клиент не смог установить соединение из-за отказа доповещения [сообщение] => [Microsoft] [Собственный клиент SQL Server 10.0] Клиент не смог установить соединение из-за prelogin failure)) [2014-12-31 08:35:25]

SQLSRV USED: php_sqlsrv_53_ts_vc9.dll

Поэтому я боюсь, что версия SQL несовместима с этой версией sqlsrv. Есть идеи?

Спасибо заранее и с Новым годом!

Теги:
sqlsrv

2 ответа

1

Я собираюсь угадать, что вы пытаетесь удаленно подключиться к серверу sql. Вы должны убедиться, что это действительно возможно с вашей конфигурацией сервера sql.

Затем вам нужно убедиться, что учетная запись пользователя, с которой вы пытаетесь установить соединение, имеет соответствующие разрешения

Затем необходимо открыть брандмауэр на сервере...

вот краткий список вещей для проверки.

Не удается подключиться удаленно

  • 0
    Привет, я уверен, что у пользователя достаточно разрешений для удаленного подключения к серверу, а также я знаю, что сервер разрешает такие подключения. Поэтому я думаю, что нет никаких проблем со стороны сервера (речь идет о блокировке портов). Поэтому я уже подключился от других клиентов и приложений к одному серверу, базе данных и учетной записи пользователя.
  • 0
    Согласно документации, вам не нужно передавать в базу данных ... php.net/manual/en/function.sqlsrv-connect.php
Показать ещё 2 комментария
0

Собственно, это было недоразумение! База данных, к которой я пыталась подключиться, - это Oracle. Таким образом, библиотека PHP несовместима.

Спасибо, в любом случае...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню