Продолжаю тут опыты с asp.net core. Приложение работает с базой на SQL SERVER EXPRESS 2008.
Когда все под виндой все нормально. Попробовал перетащил приложение на debian 8. Работает,
страничку браузеру отдает, но к sql server-у наотрез отказывается коннектиться. Долго висит,
потом "Timeout expired". Сервер пингуется. telnet <адрес> 1433 подключается. Никто не знает в чем дело?
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
_>Продолжаю тут опыты с asp.net core. Приложение работает с базой на SQL SERVER EXPRESS 2008. _>Когда все под виндой все нормально. Попробовал перетащил приложение на debian 8. Работает, _>страничку браузеру отдает, но к sql server-у наотрез отказывается коннектиться. Долго висит, _>потом "Timeout expired". Сервер пингуется. telnet <адрес> 1433 подключается. Никто не знает в чем дело?
Docker используется? Если да, то попробуйте из контейнера в котором живет приложение достучаться до сервера с базой. Возможно нужно настроить проброс портов.
BE>Docker используется? Если да, то попробуйте из контейнера в котором живет приложение достучаться до сервера с базой. Возможно нужно настроить проброс портов.
Нет docker-а
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
BE>>Docker используется? Если да, то попробуйте из контейнера в котором живет приложение достучаться до сервера с базой. Возможно нужно настроить проброс портов.
_>Нет docker-а
Строку подключения покажите. И попробуйте подключиться из SQL Operations Studio, которая под Linux.
Здравствуйте, s_aa, Вы писали:
BE>>Строку подключения покажите. И попробуйте подключиться из SQL Operations Studio, которая под Linux.
_>Data Source=192.168.XX.XXX;Initial Catalog=XXXXXXXXXX;Integrated Security=False;User ID=XX;Password=XXX;Connect Timeout=30
А если таймаут увеличить?
В логах sql сервера попытка подключения не видна?
_>И попробуйте подключиться из SQL Operations Studio, которая под Linux.
_>Это графическую оболочку надо запускать? Она не установлена.
Да, нужно. Как проверить подключение из консоли пока не знаю.
Здравствуйте, s_aa, Вы писали:
_>потом "Timeout expired". Сервер пингуется. telnet <адрес> 1433 подключается. Никто не знает в чем дело?
Возьмите и напишите на .core консольную прогу, которая сокетом цепляется к нужному адресу и порту. После подключения запишите чего-нибудь в сокет, например строку "hren". Запустите и посмотрите на результат.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, s_aa, Вы писали:
_>>потом "Timeout expired". Сервер пингуется. telnet <адрес> 1433 подключается. Никто не знает в чем дело?
С>Возьмите и напишите на .core консольную прогу, которая сокетом цепляется к нужному адресу и порту. После подключения запишите чего-нибудь в сокет, например строку "hren". Запустите и посмотрите на результат.
Не факт что поможет. Тут не нулевая вероятность бага в линуксовом sql client.
Здравствуйте, BlackEric, Вы писали:
BE>Не факт что поможет. Тут не нулевая вероятность бага в линуксовом sql client.
Хотя бы будет видна ошибка соединения, если она есть.
Это ж линукс. Может там какой-нибудь AppArmor или uwf прикрывает возможность прицепиться к порту. Или сервер слушает не на 192.168..., а на 127.0.0.1. Или слушать-то слушает, а по входящим IP фильрует.
Если у людей .core работает с sql-сервером на виндах, почему он не должен работать с тем же сервером на линуксах? Протокол тот же, байты такие же.
С>Возьмите и напишите на .core консольную прогу, которая сокетом цепляется к нужному адресу и порту. После подключения запишите чего-нибудь в сокет, например строку "hren". Запустите и посмотрите на результат.
Да мысль. Надо попробовать
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
С>Возьмите и напишите на .core консольную прогу, которая сокетом цепляется к нужному адресу и порту. После подключения запишите чего-нибудь в сокет, например строку "hren". Запустите и посмотрите на результат.
Попробовал, соединение есть, ответ приходит.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
_>Попробовал, соединение есть, ответ приходит.
У вас в строке подключения написано:
"Integrated Security=False"
Можете попробовать с true?
PS: из остатков того, что осталось в моей памяти после чтения Рихтера, мне вспоминается термин mutual authentication. То есть, возможно она присутствует, и возможно сервер не может добиться от клиента какого-то ответа.
С>PS: из остатков того, что осталось в моей памяти после чтения Рихтера, мне вспоминается термин mutual authentication. То есть, возможно она присутствует, и возможно сервер не может добиться от клиента какого-то ответа.
С windows все тоже самое работает.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
С>>Возьмите и напишите на .core консольную прогу, которая сокетом цепляется к нужному адресу и порту. После подключения запишите чего-нибудь в сокет, например строку "hren". Запустите и посмотрите на результат.
_>Попробовал, соединение есть, ответ приходит.
Очень похоже на баг. Клиента или сервера. У меня так к кликхаусу идет подключение из всего кроме студии.
Я бы попробовал использовать последний dotnet core и накатить все обновления на sql server.
Здравствуйте, Слава, Вы писали:
_>>С windows все тоже самое работает. С>Я понимаю, что всё то же самое работает. Но я предлагаю проверить, как оно сработает со встроенной аутентификацией sql сервера.
Под Linux?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.