Сбой соединения с PHP на SQL Server: «Ошибка входа пользователя xxx» - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь настроить демо на моей локальной машине, показывающее, как использовать SQLSRV в PHP. Чтобы упростить процесс, я добавил новый логин и пользователя, использующего этот логин, который называется DemoUser, и дал ему роли db_datareader, db_datawriter и db_ddladmin для данных примера, которые я использую (это база данных Chinook).

Я также настроил SQL Server на компьютере для использования аутентификации Windows и SQL Server и перезапустил сервер.

После всего этого я могу войти в систему SSMS от имени этого пользователя и успешно создать соединение из Visual FoxPro (мой обычный инструмент разработки), используя функцию SQLStringConnect (). Однако, когда я пытаюсь подключиться из PHP с помощью sqlsrv_connect (), я получаю сообщение об ошибке.

Вот код подключения:

  $hostname = "localhost";
  $username = 'DemoUser';
  $password = 'mYdemoUser';
  $database = 'chinook';
  $connectionInfo = array("Database"=>$database, "UID"=>$username, "PWD"=>$password, "CharacterSet"=>"UTF-8");
  $conn = sqlsrv_connect($hostname, $connectionInfo);

  if( $conn == false ) {
    echo "Connection could not be established.<br />";
    die( print_r( sqlsrv_errors(), true));
  }

и вот что я вижу:

Connection could not be established.Array
(
    [0] => Array
        (
            [0] => 28000
            [SQLSTATE] => 28000
            [1] => 18456
            [code] => 18456
            [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'DemoUser'.
            [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'DemoUser'.
        )

    [1] => Array
        (
            [0] => 28000
            [SQLSTATE] => 28000
            [1] => 18456
            [code] => 18456
            [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'DemoUser'.
            [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'DemoUser'.
        )

)

Есть идеи, что мне не хватает?

1 Ответ

0 голосов
/ 03 июля 2019

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

Войдите в систему как пользователь, используя sql design studio, и убедитесь, что вы действительно можете установить соединение с известным хорошим клиентом.

...