|
Получение блокировок кластера от агента сервера. | ☑ | ||
---|---|---|---|---|
0
ksv87
04.12.14
✎
10:29
|
Добрый день!
Пытаюсь через V83.COMConnector подключится к агенту сервера, получить кластер и получить блокировки объектов этого кластера. Все отрабатывает, но Блокировк.Object всегда возвращает - пустую ссылку (00000000-0000-0000-0000-000000000000). в чем ошибка? &НаСервере Процедура ПолучитьБлокировкиКластераНаСервере() Попытка Сообщить("Создание COM объекта"); Соединитель = Новый COMObject("V83.COMConnector"); Сообщить("Подключение к агенту сервера"); СоединениеСАгентом = Соединитель.ConnectAgent("192.168.0.1"); Сообщить("Получение списка кластеров сервера"); МассивКластеров = СоединениеСАгентом.GetClusters().Выгрузить(); СчетчикМассиваКластеров = МассивКластеров.Количество(); i = 0; Пока i < СчетчикМассиваКластеров Цикл Сообщить("Найден кластер: """ + МассивКластеров[i].ClusterName + """"); i = i + 1; КонецЦикла; Кластер = МассивКластеров[0]; Сообщить("Авторизация"); СоединениеСАгентом.Authenticate(Кластер, "", ""); Сообщить("Получение блокировок кластера"); COMSafeArrayБлокировок = СоединениеСАгентом.GetLocks(Кластер); МассивБлокировок = COMSafeArrayБлокировок.Выгрузить(); i = 0; count = МассивБлокировок.Количество(); НайденаБлокировкаОбъектов = ложь; Пока i < count Цикл Если НЕ МассивБлокировок[i].Session = Неопределено Тогда Сообщить("----------------------------------"); Сообщить(МассивБлокировок[i].Session.UserName); Сообщить(МассивБлокировок[i].LockedAt); Сообщить(МассивБлокировок[i].LockDescr); Сообщить(МассивБлокировок[i].Object); НайденаБлокировкаОбъектов = истина; КонецЕсли; i = i + 1; КонецЦикла; Если НЕ НайденаБлокировкаОбъектов Тогда Сообщить("Блокировок объектов не обнаружено") КонецЕсли; Сообщить("Готово"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры |
|||
1
ksv87
04.12.14
✎
10:30
|
Блокировка (IObjectLock)
Свойства: Connection (Connection) LockDescr (LockDescr) LockedAt (LockedAt) Object (Object) Session (Session) Описание: Объекты содержат информацию обо всех блокировках, хранимых в реестре информационных баз. Среди них: блокировки объектов базы данных; блокировки информационных баз клиентскими приложениями, другие блокировки. Представляет собой объект с интерфейсом IObjectLock. Доступность: Интеграция. |
|||
2
ksv87
04.12.14
✎
10:30
|
Блокировка (IObjectLock)
Object (Object) Использование: Только чтение. Описание: Тип: Строка. Представление идентификатора заблокированного объекта базы данных. Доступность: Интеграция. |
|||
3
TormozIT
гуру
04.12.14
✎
22:19
|
Видимо ты хочешь транзакционные блокировки, а этот объект выдает только объектные, которые довольно редко устанавливаются.
|
|||
4
ksv87
05.12.14
✎
18:39
|
(3) а можно ли как то получить транзакционные блокировки? Сама задача в том что бы определить какие документы заблокированы и каким пользователем (без попытки блокировать сам документ)
|
|||
5
krbIso
05.12.14
✎
21:29
|
(4) нет
|
|||
6
hhhh
06.12.14
✎
09:34
|
(4) открой для себя оператор Для каждого. Например
Для каждого Кластер Из МассивКластеров Цикл Сообщить("Найден кластер: """ + Кластер.ClusterName + """"); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |