Я искал все доступные темы по этому вопросу здесь, и ни один из ответов не работает для меня.
Я установил (Windows 10 64-битный) Apache2.4 (64-битный ), PHP 7.4.2 (64-разрядная версия) и SQL Server 2016 (64-разрядная версия). Я обновил php .ini, чтобы включить
extension=php_sqlsrv.dll
из пакета php_sqlsrv-5.7.1preview-7.4-ts-vc15-x64 и при запуске php -m для вывода списка всех модулей sqlsrv .
Однако, когда я пытаюсь подключиться к серверу SQL из файла PHP, происходит сбой с сообщением об ошибке.
<?php
$serverName = "MYPC\\SQLINSTANCE";
$uid = "sa";
$pwd = "thePassword";
$databaseName = "TesterDB";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>$databaseName);
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connected";
}
else
{
echo "Error";
die( print_r( sqlsrv_errors(), true));
}
?>
сообщение об ошибке:
Ошибка входа пользователя 'sa'. ) [1] => Массив ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [код] => 4060 [2] => [Microsoft] [ODB C Драйвер 13 для SQL Сервер] [SQL Сервер] Невозможно открыть базу данных "TesterDB", запрошенную при входе в систему. Ошибка при входе.
Логин и пароль верны, как и P C и имена экземпляров. . Что еще может вызвать сбой соединения? Некоторая проблема с форматированием? Некоторая несовместимость?