Изменение структуры узлов
страницаИзменение структуры узлов
В заключение следует сказать о том, что механизм распределенных информационных баз содержит программное средство реконфигурирования структуры узлов распределенной базы.
Для этого следует использовать метод УстановитьГлавныйУзел() объекта ПланыОбменаМенеджер.
В параметре этого метода передается ссылка на узел плана обмена распределенной информационной базы, который устанавливается главным для текущей базы. Также в этом параметре может быть передано значение Неопределено, и это приведет к тому, что у текущей информационной базы будет отсутствовать главный узел.
Допустим, необходимо переместить один из подчиненных узлов в корень дерева (рис. 25.34).

**Рис. 25.**34. Реконфигурирование структуры узлов
Для этого нужно выполнить следующие действия (листинг 25.34).
Листинг 25.34. Перемещение «Узла2» в корень дерева
// В информационной базе Узла2.
ПланыОбменаМенеджер.УстановитьГлавныйУзел(Неопределено);
// В информационной базе Узла1.
ПланыОбменаМенеджер.УстановитьГлавныйУзел(Узел2);
При этом будут удалены все записи регистрации изменений конфигурации «Узла1», относящиеся к «Узлу2», так как передача изменений конфигурации будет возможна теперь только от «Узла2» к «Узлу1». Записи регистрации изменения данных удалены не будут, так как передача изменений данных будет по-прежнему возможна между этими узлами.
Таким же образом, используя значение параметра метода Неопределено, вы можете отключать от дерева отдельную информационную базу или целое поддерево (рис. 25.35, листинг 25.35).

**Рис. 25.**35. Отключение поддерева от распределенной информационной базы
Листинг 25.35. Перемещение «Узла2» в корень дерева
// В информационной базе Узла1.
ПланыОбменаМенеджер.УстановитьГлавныйУзел(Неопределено);
Кроме того, вы можете создавать распределенную информационную базу из отдельных информационных баз с идентичной конфигурацией (рис. 25.36, листинг 25.36).

**Рис. 25.**36. Информационная база из отдельных информационных баз с идентичной конфигурацией
Листинг 25.36. Создание распределенной информационной базы из баз с идентичной конфигурацией
// В информационных базах Узла2, Узла3 и Узла4.
ПланыОбменаМенеджер.УстановитьГлавныйУзел(Узел1);