Обращение к системе резервирования из клиентского приложения

Клиентское приложение обращается к системе резервирования как к обычному сетевому серверу СУБД ЛИНТЕР, т.е. для доступа к системе резервирования используется драйвер сетевого клиента dbc_tcp. Это означает, что для работы с системой резервирования клиентское приложение может использовать любой программный интерфейс СУБД ЛИНТЕР. Дополнительные, присущие только системе резервирования, ресурсы не требуются.

При отказе главного сервера системы резервирования его функции берет на себя один из резервных серверов (при их наличии). В этом случае драйвер dbc_tcp автоматически переадресует запросы клиентского приложения к новому главному серверу, при этом возможна задержка ответа клиентскому приложению на время тайм-аута переключения с одного сервера на другой. Новый главный сервер не наследует номеров каналов клиентского приложения, курсоров и не гарантирует, что последние транзакции будут выполнены.

Клиентское приложение должно отслеживать момент переключения главного сервера на другой компьютер (по коду завершения ERROPENQUE или ERRNMRKAN) и самостоятельно снова устанавливать соединение. Сетевой драйвер клиента обеспечивает соединение с новым главным сервером резервирования, как только он будет готов. После этого приложение должно повторить все операции, которые не сохраняются в БД при переключении, а именно:

  • блокировки данных;

  • управление событиями (если это не сохраняемые в БД события);

  • последние транзакции.

Пример клиентского приложения приведен в приложении 3.