|
И снова программное убиение сеансов | ☑ | ||
---|---|---|---|---|
0
YurAnt
29.07.13
✎
08:27
|
Доброго времени суток, господа-форумчане.
Тема заезжена вдоль и поперек... однако здравствуйте. Проблема "выгнать всех активных/зависших/невышедших вовремя юзеров" Наткнулся вот на такой код: Процедура ЗавершениеПользователей() Экспорт Коннектор = Новый COMОбъект("V82.COMConnector"); Сервер = Коннектор.ConnectWorkingProcess("TestServer"); // Аутентифицироваться с административными правами в нужной базе. Сервер.AddAuthentication("Администратор", ""); // Создать объект нужной информационной базы. ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); ИнформационнаяБаза.Name = "Test_Base"; // Получить соединения базы. СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза); // Разорвать соединения клиентских приложений. Для Каждого Соединение Из СоединенияБазы Цикл Сервер.Disconnect(Соединение); КонецЦикла; КонецПроцедуры Работать не хочет: Сервер = Коннектор.ConnectWorkingProcess("tcp:\\192.168.0.73:1540"); //тут пробовал и локалхост и 192.168.0.1 и то что занесено выше - текущий ip в сети) Сервер.AddAuthentication("Administrator", "qweqwe"); ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); ИнформационнаяБаза.Name = "C:\Users\admin2\Desktop\all_bases\UECM_ACC_82"; имя перебирал тоже по всякому и полный путь, как указано выше, и вариант "UECM_ACC_82"... (если я правильно понимаю имя базы к-е задается на входе "меню выбора инф баз - однозначно не то, что нужно, поскольку там скорее ссылки с произвольными именами) Итак. Проблема - что именно указывается в сервере и имени ИБ ? Сейчас подключение описанное выше вызывает ошибку: {ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(4)}: Ошибка при вызове метода контекста (ConnectWorkingProcess) Сервер = Коннектор.ConnectWorkingProcess("tcp:\\192.168.0.73:1540"); по причине: Произошла исключительная ситуация (V82.COMConnector.1): server_addr=tcp://192.168.0.73:1540 descr=192.168.0.73:1540:Ошибка сетевого доступа к серверу (Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ); line=545 file=Src\DataExchangeTcpClientImpl.cpp PS Бух 8.2 обработка внешняя (если надо в конфигу зашить - зашью, только поясните...) Вот собственно и пытаюсь разобраться... Благодарен за любые советы. С ув. YurAnt. |
|||
1
skunk
29.07.13
✎
08:29
|
||||
2
Keyn
29.07.13
✎
08:44
|
может кому поможет
это батником убиваются сетевые подключения вот так просто можно выкинуть пользователей из базы ===================== @echo off net file | findstr /I V8NameBaseKatalog>lst.txt for /f %%a in (lst.txt) do net file %%a /CLOSE del /q lst.txt ===================== |
|||
3
YurAnt
29.07.13
✎
09:26
|
skunk, Keyn спасибо вам за советы.
Поскольку задача ставилась - убить зависшие подключения и не вышедших вовремя юзеров, то так и решили данную проблему (убили сетевые подключения). Skunk, но вот такой вопрос: а если речь идет о файловом варианте ? // данная функция не умеет обламывать файловый вариант работы базы стрОшибка = "Не верный тип информационной базы!"; возврат ложь; |
|||
4
Maxus43
29.07.13
✎
09:33
|
Коннектор = Новый COMОбъект("V81.COMConnector");
Сервер = Коннектор.ConnectWorkingProcess("TestServer"); // Аутентифицироваться с административными правами в нужной базе. Сервер.AddAuthentication("Администратор", ""); // Создать объект нужной информационной базы. ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); ИнформационнаяБаза.Name = "Test_Base"; // Получить соединения базы. СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза); // Разорвать соединения клиентских приложений. Для Каждого Соединение Из СоединенияБазы Цикл Сервер.Disconnect(Соединение); КонецЦикла; (с) |
|||
5
YurAnt
29.07.13
✎
09:52
|
(4) ==> (0)
рекурсия к 1му вопросу :) |
|||
6
Maxus43
29.07.13
✎
09:54
|
(5) какой вопрос конкретно?
|
|||
7
skunk
29.07.13
✎
10:23
|
(3)то наверное смотреть (2)
|
|||
8
YurAnt
29.07.13
✎
10:40
|
(6) Maxus43,
Сервер = Коннектор.ConnectWorkingProcess("tcp:\\192.168.0.73:1540"); //тут пробовал и локалхост и 192.168.0.1 и то что занесено выше - текущий ip в сети) ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(4)}: Ошибка при вызове метода контекста (ConnectWorkingProcess) Сервер = Коннектор.ConnectWorkingProcess("tcp:\\192.168.0.73:1540"); по причине: Произошла исключительная ситуация (V82.COMConnector.1): server_addr=tcp://192.168.0.73:1540 descr=192.168.0.73:1540:Ошибка сетевого доступа к серверу (Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ); line=545 file=Src\DataExchangeTcpClientImpl.cpp |
|||
9
don_Rumata
31.07.13
✎
17:36
|
(0) Тут есть работающий пример: http://infostart.ru/public/77671/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |