Кольцо всевластия. Выполнение кода и создание пользователя сразу в нескольких базах


Выполнение кода сразу в нескольких базах по com-соединению, без обменов.

Обработка позволяет в нескольких базах выполнить произвольный код, или создать пользователя.
Для подключения используется платформенный v8ComConnector. Для выполнения кода используется метод ОбщегоНазначения.ВыполнитьВБезопасномРежиме() из БСП.

Список баз читается из окна запуска (ibases.v8i). Логин и пароль на вход в базы указываем вверху формы. В таблице баз логин и пароль указываем только если они отличаются от введенных выше.

Upd 27.06.2024: в новой версии обработки добавлен флаг "не отключать соединения" — все соединения помещаются в переменную "МассивСоединений" &НаКлиенте, для очистки переменной (закрытия соединений) используется кнопка "Очистить все соединения".
Для целей тестирования нагрузки на процессор при обеспечении ненулевого числа сеансов в базах — используется кнопка "поддерживать ненулевое число сеансов в базе". При нажатии подключается обработчик ожидания, и с интервалом в минуту для сохраненных соединений выполняется запрос числа пользовательских сеансов в базе; если сеансы есть — com-соединение отключается, если подключения в МассивеСоединений нет — выполняется новое соединение и проверка.

Работает только для серверных баз (код для файловых надо допиливать). Тестировалось на БП 3.0.70.61, скорее всего взлетит и на ЗУП 3.0; в части создания пользователя скорее всего не взлетит на ERP. Тип подключения Application использовался в процессе разработки, сейчас не работает. Используйте Com-connector.

P.s. Обработка была создана с целью отключения регламентных заданий и ненужного функционала в большом числе копий баз.
Вот примеры кода для указанных задач:

 

 

 

2 Comments

  1. cmpros78

    Доброго дня. Две версии обработки, в чем отличия?

    Reply
  2. Дмитрий74Чел

    (1) В описании сказано:

    Upd 27.06.2019: в новой версии обработки…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *