Я пытаюсь настроить демо на моей локальной машине, показывающее, как использовать 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'.
)
)
Есть идеи, что мне не хватает?