У заказчика у нас есть БД postgres на сервере и несколько клиентов. Подключаем их через ODBC-драйверы, и на всех машинах работает windows (обычно XP). Теперь у нас было несколько неприятных проблем:
Нашими клиентами часто являются очень маленькие компании, где «сервер» означает «один компьютер в другой комнате», а не «мэйнфрейм Oracle в подземелье», поэтому мы не хотим полагаться на их перезапуск коммутаторов.
Есть ли лучший способ, чем полагаться на эти действительно нестабильные настройки? Есть ли эти настройки где-то в файле, который я мог бы отредактировать вручную, чтобы упростить исправление?
Посмотрите реестр. В WIn32 источники данных ODBC находятся в HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
. Проверьте, как выглядят ваши настройки до и после того, как система "забыла"
Я не помню, где хранятся такие настройки для 64-битной Windows, но они тоже есть в реестре. Win64 имеет 2 расположения ODBC: одно для 32-битных приложений и второе для 64-битных приложений.
Они используют DHCP для серверов? Разве они не могут сделать IP-адрес сервера постоянным?
Исправления следующие:
При инициализации проанализируйте части строки подключения в приложении и, если необходимо, добавьте к ней флаги.
Требуется только один раз, потому что я могу исправить другие проблемы. По-прежнему неоптимально.
Используйте имя компьютера вместо IP. Служба данных может легко с этим работать.