SQLSTATE[HY000] Неизвестное имя хоста (серьезность 2)
У меня есть проблема, в которой я не могу найти решение, и я надеялся, что вы поможете мне. Я откатил свой сервер, и теперь ни один из сценариев php не может подключиться к другим серверам. Сценарии обновлены, так как откат сделан с прошлой недели.
Я получаю ошибку SQL:
SQLSTATE [HY000] Неизвестное имя хоста (серьезность 2)
И на CMD я получаю:
SQLState = S1T00, NativeError = 0 Ошибка = [unixODBC][Microsoft][Собственный клиент SQL Server 11.0] Истекло время ожидания входа
d SQLState = 08001, NativeError = 10022 Ошибка = [unixODBC][Microsoft][Собственный клиент SQL Server 11.0] Произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Ser
веры. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и проверьте, настроен ли SQL Server для удаленных подключений. Для дополнительной информации
см. электронную документацию по SQL Server. SQLState = 08001, NativeError = 10022 Ошибка = [unixODBC][Microsoft][Собственный клиент SQL Server 11.0] Поставщик TCP: код ошибки 0x2726
По телнету я могу подключиться к удаленному серверу. sqlcmd также позволяет мне подключиться к удаленному серверу
Пожалуйста, если кто-нибудь может мне помочь. Я не знаю, что делать дальше. Вся помощь будет принята с благодарностью.
Это тестовый скрипт, чтобы попробовать соединение
$link = mssql_connect('xx.xxx.xxxx.xx,1433','myuname','mypwd');
if (!$link) {
die('Something went wrong while connecting to MSSQL:'. mssql_get_last_message());
}
2 ответа
Мне просто нужно изменить файл etc/network, изменить файл интерфейсов и сделатьsudo /etc/init.d/networking restart
По какой-то причине DNS-имена были неверны.
Исправление для меня было в три этапа:
Сначала я отредактировал /etc/freetds/freetds.conf
и изменил версию tds следующим образом:
tds version = 8.0
Второй шаг - не ввод номера порта. Порт был уже 1433, и не указав его исправил ту же проблему в моем случае.
Наконец, для правильного подключения мне пришлось перезапустить сеть, так как @user1054844 упоминается так:
/etc/init.d/networking restart
После всех этих шагов я смог подключиться и работать с базой данных SQL Server.