Имя: Пароль:
1C
1С v8
v8: Проблема с принудительным отключением пользователей от базы
0 эцп
 
17.06.12
20:14
Есть скрипт, который ночью выгружает базу. Предварительно он отключает пользователей от базы, а потом делает выгрузку. Код отключения примерно такой:

' // Процедура отключает подключения к БД
' // Takes:
' //     strTextBody   - (str) Short log for mail
' //     Connections   - (array) Array of connections to working process
' // Returns (changes):
' //     strTextBody   - (str) Short log for mail
Sub DB_DropUsers(strTextBody, Connections)
   Dim array_objUserConnection, objUserConnection
   strTextBody = strTextBody & Now() & "    Получаем список подключений к базе, и отключаем их:" & vbCrLf
   
   For Each Connection In Connections
       array_objUserConnection = Connection.WPConnection.GetInfoBaseConnections(Connection.InfoBase)
       For Each objUserConnection In array_objUserConnection
           strTextBody = strTextBody & Now() & "        name: '" & objUserConnection.UserName & "', computer:'" & objUserConnection.HostName & "', appID: '" & objUserConnection.AppID & "'" & vbCrLf
           If (objUserConnection.AppID = "COMConsole") or (objUserConnection.AppID = "SrvrConsole") Then
               strTextBody = strTextBody & Now() & "            тип подключения в списке исключений" & vbCrLf
           Else
               Connection.WPConnection.Disconnect objUserConnection
               strTextBody = strTextBody & Now() & "            disconnected successfully" & vbCrLf
           End If
       Next
   Next
End Sub 'DB_DropUsers'
1 эцп
 
17.06.12
20:16
И все прекрасно работало на 8.2.13.219 и на 8.2.14.540, но пришла пора обновляться на 8.2.15.317. Обновился...

Теперь вот этот код перестал работать:
Connection.WPConnection.Disconnect objUserConnection
2 эцп
 
17.06.12
20:17
Да, он завершает Сеанс пользователя на сервере, но не закрывает соединение (вот как!). Что делать?

В описании к 15 релизу ничего про сеансы/соединения не нашел
3 эцп
 
17.06.12
20:26
Да, и это касается только тонкого клиента, толстый клиент отключается без проблем
4 эцп
 
17.06.12
20:29
Вы можете сами в консоли кластера ручками попробовать завершить чей-нибудь сеанс, при этом соединение останется "висеть"
5 эцп
 
18.06.12
11:41
Победил пока что тем, что добавил процедуру завершения сеансов в дополнение к процедуре завершения соединений
6 vah1
 
18.06.12
11:49
(0) уверен, что никого не обидишь, типа я специально             осталась, а  нихрена апять не работает