#php #sql #sql-server
#php #sql #sql-сервер
Вопрос:
Я пытаюсь подключиться к удаленной базе данных ms sql (не к локальному хосту), но каждый раз время ожидания истекает, прежде чем оно завершится успешно…
Я почти уверен, что проблема заключается в переменной $ ServerName, можно ли в любом случае проверить через Plesk Parallels, какова ее ценность?
<?php
$serverName = "server's ip address/database name"; //serverNameinstanceName
$connectionInfo = array( "Database"=>"database name", "UID"=>"DBusername", "PWD"=>"DBpassword");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
Комментарии:
1. Откройте командную строку в Windows и введите следующее:
telnet ip_address 1433
. Каков результат?2. C:Usersitay >telnet (IP-АДРЕС) 1433 Подключение к (IP-АДРЕС)… Не удалось открыть соединение с хостом на порту 1433: сбой подключения
3. Тогда есть проблема. Либо A. этот хост не принимает удаленные подключения к серверу SQL, B. сервер SQL не работает, либо C. сервер SQL не прослушивает порт по умолчанию 1433.
Ответ №1:
Попробуйте ввести точный номер порта в имя_сервера, например
<?php
$serverName=127.0.0.1SQLEXPRESS,1433; //networkAddrInstanceName,<portNum>
?>
Попробуйте использовать Ip-адрес вместо имени NetBIOS, если вы это сделаете, потому что протокол ICMP обычно блокируется из-за политики безопасности.
Кроме того, порт 1433 по умолчанию может быть заблокирован. В этом случае следует связаться с администратором сервера, чтобы предоставить фактические заявки на подключение.
Ответ №2:
Проблема заключалась в том, что моему IP-адресу не было разрешено подключаться к базе данных, после того, как я поддержал своего хостинг-провайдера, они дали мне это разрешение, и это удалось.