PHP с ошибкой соединения mssql (аутентификация Windows) - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь подключиться с php к базе данных mssql.Я уже установил драйверы для этого.

Теперь я имею следующую ошибку:

Array ([0] => Array ([0] => 28000 [SQLSTATE)] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа в систему для пользователя «домен \ пользователь». [Сообщение] => [Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа для пользователя «домен \ пользователь».) [1] => Массив ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа в систему для пользователя «домен \ пользователь». [Message] => [Microsoft] [Драйвер ODBC 13для SQL Server] [SQL Server] Ошибка входа в систему для пользователя «домен \ пользователь».))

Что-то пропущено?

Редактировать: Строка подключения:

$serverName = "server, port";

$connectionInfo = array( "Database"=>"my_database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn == false)
 {
 echo "Unable to connect.<br />";
 die( print_r( sqlsrv_errors(), true));
 }

Редактировать 2:

Пример кода с пользователем и pw

$serverName = "server, port"; //serverName\instanceName
$connectionInfo = array( "Database"=>"my_database", "UID"=>"domain\user", "PWD"=>"my_pw");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
 echo "Connection OK.<br />";
}else{
 echo "Unable to connect.<br />";
 die( print_r( sqlsrv_errors(), true));
}

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

У меня была похожая проблема. У меня есть сценарий php для доступа к базе данных mssql, размещенной поставщиком. Мы не можем использовать проверку подлинности Windows. ИД пользователя и пароль действительны, так как он работает с Python. Мы обнаружили, что пароль, предоставленный поставщиком, содержит $, который в PHP обозначает переменную. Мы изменили двойные кавычки вокруг пароля на одинарные кавычки, и это сработало. И это было вызвано тем, что на сервере были включены магические кавычки, а обходной путь - использование одинарных кавычек, заставляющих PHP распознавать пароль как строку.

0 голосов
/ 16 апреля 2019

Пришлось изменить метод аутентификации в сервисе wampapaches.Там я положил свой пользователь и передать и работал нормально.

...