32-разрядная ODBC32 системы DSN на Windows 10, по-видимому, не в состоянии получить доступ к сети

У меня есть приложение, которое работает правильно большинство моих машин здесь.

два из них перестали работать без причины, что я мог понять (те же обновления, что и все остальные, те же сетевые настройки, то же оборудование...).

проблема в том, что не удается установить соединение с источником данных. Это сервер MySQL в другом месте. В начале я думал, что это DNS (это DNS, а не DSN) проблема, потому что ошибка сказала, что он не мог найти my.server.com.

странно то, что от %SYSROOT%/SysWOW64/ODBCAD32.exe источник данных соединителя MyODBC указан, и существует системный DSN с правильным именем (так же, как и другие компьютеры). И это работает, на том же компьютере, где приложение не делает. Он находит базы данных, позволяет выбрать правильную-все.

чтобы исключить DNS, Я заменил имя на правильный IP-адрес; запрос DNS больше не произошел, но я сразу получил другую ошибку впоследствии-ошибка Winsock 10022, недопустимый сокет. Это говорит мне, что ошибка DNS, вероятно, из-за того, что приложение не может подключиться к сокету DNS-сервера.

Так что я догадался, что это был брандмауэр. Я попытался отключить его как из графического интерфейса, так и из командной строки (netsh advfirewall all profiles off), но безуспешно. Попытался войти в журнал отладки pfw, ничего там (соединение даже не запускается). Нет никакого трафика к MySQL TCP port 3306 вообще-он останавливается сначала.

на этом компьютере нет антивирусов, и он имеет все обновления (так же, как и все другие ПК).

обширный гуглить ничего не получилось-приложение находится на UNC share (так же как и другие машины, на которых оно работает), но даже если я скопирую его на локальный диск, на этих двух оно все равно не работает.

что бы это могло быть?

22
задан LSerni
29.03.2023 9:26 Количество просмотров материала 2810
Распечатать страницу

1 ответ

получается, что я мысль Я проверил это, но мой тест был ошибочным.

Я нашел в начале моего Google, что

If the application using ODBC32 resides on a network drive,
and the user has no write access to the root of that drive,
then ODBC cannot establish a network connection.

(Worth 1500 WTF points)

Так что я скопировал приложение и все, что на рабочем столе. И это все равно не сработало.

то, что я забыл-не обратив внимания в то время - было что эти два шт имеют свои профили пользователей на удаленном сервере.

угадайте что. Корень сервера не был записываемый.

а это, конечно1, запрещает ODBC устанавливать сетевое подключение.


(1) "Конечно", в мире, где MIDI-файл не откроется из-за ошибки, которая очищается, открыв Microsoft Word. Это случилось со мной почти двадцать лет назад; я все еще надеюсь, что когда-нибудь смогу забыть об этом.

0
отвечен LSerni 2023-03-30 17:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх