У меня есть установка Centos7 с nginx / php5.6. MS SQL 2008 R2 работает на другом сервере.
MSSQL определенно разрешил tcp-соединение, пользовательский (не доменный) пользователь, брандмауэр отключен, и я могу подключиться к нему с помощью HeidiSQL и этого параметра с другой машины Windows.
Я могу подключиться к MSSQL через Teltos (и вижу сообщение об ошибке «Длина, указанная в полезной нагрузке сетевого пакета, не соответствует количеству прочитанных байтов; соединение закрыто. Пожалуйста, свяжитесь с поставщиком клиентской библиотеки.» С IP-адресом centos в MSSQL логи, так что ошибок здесь нет).
Я не мог подключиться к mssql из centos, используя php_mssql или sqlcmd;
Во время sqlcmd:
Microsoft (R) SQL Server Command Line Tool
Version 13.1.0007.0 Linux
[root@***]# /opt/mssql-tools/bin/sqlcmd -S *** -U ***
Password:
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Timeout error [258]. .
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Unable to complete login process due to delay in prelogin response.
Во время php интерактив:
php > mssql_connect('***:***', '***','***');
PHP Warning: mssql_connect(): Unable to connect to server: *** in php shell code on line 1
Я также попробовал tsql / freetds:
/etc/freetds.conf has section
[myserver]
host = ***
port = ***
client charset = UTF-8
tds version = 8.0 //also tried 7
[root@*]# tsql -S myserver -U ***
Password:
locale is "en_US.UTF-8"locale charset is "UTF-8"using default charset "UTF-8"5 //begins to count, i could't understand what does it mean
Также пытался все это почистить и установить php7.0 с расширением sqlsrv — та же проблема;
Есть некоторые странные сети — Centos serv и MSSQL находятся в разных сетях, я не могу пропинговать mssql с этого сервера, но могу telnet, я использую ip, а не имя хоста при попытках подключения, так что не думайте, что это имеет большое значение ,
Теперь у меня нет идей, где копать, какие-либо предложения, пожалуйста?
Это было вызвано неправильной конфигурацией в сети, я не совсем понимаю, как это возможно — установить соединение через telnet, но не могу нормально подключиться, но наши ИТ-специалисты решили эту проблему менее чем за полчаса.
Других решений пока нет …