Синхронизация:Отправка sql-скриптов на выполнение через G$TASKS по синхронизации
Материал из wiki.standart-n.ru
Используемые сокращения
ГБ - Глобальная база КБ - Клиентская база
Служебная таблица G$TASKS заполняется только в ГБ.
Структура G$TASKS.
ID – Ключ таблицы PROFILE_ID – Для какого профиля предназначена задача TASK_TYPE – Тип скрипта. 0: SQL-скрипт 1: SQL-запрос(возвращает данные). Планируются также типы -: обновиться -: послать метаданные -: запустить посланный файл. Но они еще не реализованы. CAPTION – Название задачи. DATA – Само содержание скрипта. Которое должно выполниться на КБ. INSERTDT – Дата вставки записи, заполняется автоматически SENDDT – Дата отправки скрипта. Если NULL значит нужно отправить. Проставляется скриптами синхронизации. ENDDT – Дата выполнения скрипта. Устанавливается скриптами синхронизации временем сервера в момент получения ответа от DtClient о том, что данный скрипт выполнен. ENDFLAG – Флаг окончания. 1- успешное выполение, -1 –выполнение закончилось с ошибками ENDTEXT – Статистика выполнения скрипта у клиента. Выполнено за (мс):500 Buffers: 0 Reads: 11 Writes: 54 SeqReads: 8840 Fetches: 175854 ReadIdx: 8877 DeltaMem: 19368 StartingMem: 90087816 ENDDATA – Не уверена, но скорее всего результат выполнения SQL-запроса, который возвращает данные.
Внимание!!!!
1. Если даже скрипт выполнился с ошибками, в любом случае в конце выполнения произойдет подтверждение транзакции (отката не будет!). 2. Перед тем как создавать задачу для множества профилей протестируйте скрипт на профиле, который не используется под реальные задачи. 3. Для удобства создания массовых рассылок скриптов используйте процедуру UTPR_MASTERDETAIL.