UniConnection и БД на SQL сервере в зеркальном отражении

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
dr_cat
Сообщения: 3
Зарегистрирован: Вт 05 мар 2019 08:39

UniConnection и БД на SQL сервере в зеркальном отражении

Сообщение dr_cat » Вт 05 мар 2019 08:57

Добрый день коллеги!

Досталась система с использованием БД на MS SQL сервер (зеркало, т.е. имеется два сервера БД: основной и резервный + следящий сервер, который меняет местами основной и резервный сервер в случае проблем). Это вся цепочка работает.
Вопрос в следующем: UniConnection имеет возможность автоматического переключения между серверами в случае смены их ролей (т.е. когда резервный сервер становится основным, а основной - резервным) "на лету" ?
1. Технология здесь не Always On, а простое зеркало.
2. Вариант с остановкой всех клиентских программ, изменения строки подключения на нужный сервер, перезапуск программ - как-то не очень :( Хотя работает.
3. Рассматривал события OnConnectionLost (если смена ролей серверов произошла во время работы) и OnConnectionError(если смена ролей произошла еще до запуска клиентского ПО). В них менял строку подключения и пытался переподключиться к БД. Но как-то не очень получалась. Возможно что-то делаю не так.

Реализуемо ли на Uni компонентах подобное решение ?
Заранее спасибо за ответ.

Stellar
Devart Team
Сообщения: 20
Зарегистрирован: Чт 07 дек 2017 14:56

Re: UniConnection и БД на SQL сервере в зеркальном отражении

Сообщение Stellar » Чт 07 мар 2019 16:43

UniDAC поддерживает технологию SQL Server Always On, но собственной реализаций автоматического переподключения к резервному серверу, при разрыве соединения, UniDAC не имеет. Для того, чтобы использовать обработчик события OnConnectionLost, необходимо добавить модуль MemData и установить для свойства TUniConnection.Options.LocalFailover значение True. Вы можете сами реализовать подключение к резервному серверу, при разрыве соединения.

Подробнее о OnConnectionLost:
devart.com/unidac/docs/devart.dac.tcustomdaconnection.onconnectionlost.htm

Закрыто