Динамічне оновлення BAS
Динамічне оновлення
Реалізована можливість оновлення конфігурації бази даних без переривання роботи користувачів в тих випадках, коли зміни не зачіпають структури даних. Активні користувачі, для того, щоб почати працювати зі зміненою конфігурацією, повинні перезапустити клієнтську програму.
В BAS це реалізовано ось так:
Здавалося б чудовий інструмент, але не все так просто.
Проблеми при виконанні динамічного оновлення
Забивається КЕШ
Часто, при використанні динамічного оновлення конфігурації, у користувачів забивається кеш і програма не працює так, як треба. Проблема усувається шляхом чистки кешу у користувачів. Але основна проблема в тому, що неможливо визначити у якого користувача (особливо якщо їх більше 100) кешированниє модулі відповідають поточній версії конфігурації, а у якого немає.
Така дорога зазвичай веде до скриптів автоматичного очищення кешу і т.д. Потрібно це вам чи ні, вирішувати вам.
Пошкоджувалась таблиця config
Були випадки, коли ушкоджувалася таблиця config в бд, доводилося виправляти ручками. У SQL версії простіше, засобами адміністрування можна знести непотрібну запис. А ось з файлової складніше, правити можна через HEX редактор, майже навмання.
Ось приклад для SQL:
У configsave зберігаються тільки змінені об'єкти, не вся конфігурація.
При оновленні конфігурації записи з configsave копіюються в config заміщаючи аналогічні записи, потім таблиця configsave очищається, а в таблиці config записи де FileName = 'commit' і FileName = 'dynamicCommit' видаляються.
-
Очистити таблицю configsave, якщо вона повна.
У конструкторі запитів SQL:
-
delete from config where FileName = 'commit'
- delete from config where FileName = 'dynamicCommit'
Інші записи, в тому числі, де FileName = 'root', FileName = 'DynamicallyUpdated', FileName = 'version', FileName = 'versions' чіпати не треба.
Можна видалити запис, де FileName = 'dbStruFinal', але вона в принципі не впливає на завантаження, видалиться сама при черговому оновленні.
І це далеко не повний перелік проблем, які може викликати динамічне оновлення. Користуватися ним чи ні - вирішувати вам.
Також, наша компанія проводить навчання за курсами:
Навчання проводиться у вечірній час, що дозволить вам не відриватися від роботи або навчання, практикуючим програмістом нашої компанії.
Якщо у вас залишилися питання, Ви завжди можете звернутися до наших аналітиків за телефонами:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20
Зв'яжіться з нами
Якщо ви хочете отримати більше інформації, заповніть цю форму. Ми зв'яжемося з вами найближчим часом.