PHP с ошибкой подключения к mssql (аутентификация Windows)

#php #sql #sql-server #database #sqlsrv

#php #sql #sql-сервер #База данных #sqlsrv

Вопрос:

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

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

Массив ([0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [ код] => 18456 [2] => [ Microsoft] [Драйвер ODBC 13 для SQL Server][SQL Server] не удалось войти в систему для пользователя ‘domain user’. [сообщение] => [Microsoft] [Драйвер ODBC 13 для SQL Server][SQL Server] Не удалось войти в систему для пользователя ‘domain user’. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [ код] => 18456 [2] => [ Microsoft] [Драйвер ODBC 13 для SQL Server][SQL Server] не удалось войти в систему для пользователя ‘domain user’. [сообщение] => [Microsoft] [Драйвер ODBC 13 для SQL Server][SQL Server] Не удалось войти в систему для пользователя ‘domain user’. ) )

Есть ли что-то, чего мне не хватает?

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

 $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"; //serverNameinstanceName
$connectionInfo = array( "Database"=>"my_database", "UID"=>"domainuser", "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));
}
  

Комментарии:

1. Можете ли вы опубликовать свой код?

2. @Zhorov добавил пример кода

Ответ №1:

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

Ответ №2:

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