Назад | Перейти на главную страницу

Как мне автоматически подключить моего клиента к источнику данных ODBC на другом компьютере с динамическим IP?

У заказчика у нас есть БД postgres на сервере и несколько клиентов. Подключаем их через ODBC-драйверы, и на всех машинах работает windows (обычно XP). Теперь у нас было несколько неприятных проблем:

Нашими клиентами часто являются очень маленькие компании, где «сервер» означает «один компьютер в другой комнате», а не «мэйнфрейм Oracle в подземелье», поэтому мы не хотим полагаться на их перезапуск коммутаторов.

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

  1. Посмотрите реестр. В WIn32 источники данных ODBC находятся в HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI. Проверьте, как выглядят ваши настройки до и после того, как система "забыла"

  2. Я не помню, где хранятся такие настройки для 64-битной Windows, но они тоже есть в реестре. Win64 имеет 2 расположения ODBC: одно для 32-битных приложений и второе для 64-битных приложений.

  3. Они используют DHCP для серверов? Разве они не могут сделать IP-адрес сервера постоянным?

Исправления следующие:

  1. При инициализации проанализируйте части строки подключения в приложении и, если необходимо, добавьте к ней флаги.

  2. Требуется только один раз, потому что я могу исправить другие проблемы. По-прежнему неоптимально.

  3. Используйте имя компьютера вместо IP. Служба данных может легко с этим работать.