У меня есть приложение, которое работает правильно на большинстве моих машин здесь.
Два из них перестали работать без причины, которую я мог понять (те же обновления, что и у всех остальных, те же настройки сети, то же самое оборудование ...).
Проблема в том, что соединение с источником данных не удается. Сервер является сервером MySQL в другом месте. В начале я думал, что это проблема с DNS (это DNS, а не DSN), потому что ошибка говорит, что он не может найти my.server.com.
Странно то, что из %SYSROOT%/SysWOW64/ODBCAD32.exe
указан источник данных коннектора MyODBC и системный DSN с правильным именем (там же, где и другие компьютеры). И это работает, на том же ПК, где приложение не работает. Находит базы данных, позволяет выбрать правильную - все.
Чтобы исключить DNS, я заменил имя на правильный IP-адрес; DNS-запрос больше не происходил, но сразу после этого я получил другую ошибку - ошибка Winsock 10022, неверный сокет. Что говорит мне, что ошибка DNS, вероятно, была связана с тем, что приложение не может подключиться к сокету DNS-сервера.
Так что я догадался, что это как-то брандмауэр. Я пытался отключить его как из графического интерфейса, так и из командной строки (netsh advfirewall все профили отключены), но безрезультатно. Пробовал войти в журнал отладки pfw, там ничего нет (соединение даже не запускается). Трафик на TCP-порт MySQL 3306 отсутствует - он останавливается первым.
На этом компьютере не установлены антивирусы, и на нем установлены все обновления (как и на всех других компьютерах).
Обширный поиск в Google ничего не дал - приложение находится на общем ресурсе UNC (так же, как и на других машинах, на которых оно работает), но даже если я скопирую его на локальный диск, на этих двух оно все равно не будет работать.
В чем может быть дело?