25.07.2017, 11:00 | #1 |
Участник
|
Не отображается SPID БД для второго AOS
Здравствуйте.
DAX2009 сборка 1500.1313 Кластер из двух АОСов. На форме Активные пользователи не отображаются SPIDы для сессий, подключенных через второй АОС ,относительно того с которого смотрю (см. рисунок). Возможно кто то сталкивался с подобной проблемой и может поделится решением. Как найти SPID сессий для второго АОСа? Заранее благодарен , Андрей.
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки") |
|
25.07.2017, 11:36 | #2 |
Участник
|
Зайти со второго АОС-а?
|
|
25.07.2017, 12:04 | #3 |
Участник
|
Каждый АОС знает только "свои" SPID.
Если нужно смотреть их на конкретном AOS нужно создать разные ярлыки на разные AOSы, прямо прописав в параметрах ярлыка ,что нужно заходить на нужный AOS без автоматической переброски кластером на другие AOSы. |
|
25.07.2017, 12:07 | #4 |
Участник
|
Спасибо. Да так и делаем.
Хотелось бы найти другое решение - не отрабатывает вызов из кода.
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки") Последний раз редактировалось Veter; 25.07.2017 в 12:14. |
|
25.07.2017, 12:11 | #5 |
Участник
|
Попробую изменить вводную :
Как можно из клиента первого АОСа - подключится на второй ? (оба АОСа работают в кластере).
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки") |
|
25.07.2017, 14:05 | #6 |
Участник
|
Цитата:
(т.е. на закладке с аосами становишься на нужный аос и жмешь кнопку - открывается клиент аксапты подключенный к выбранному аосу) X++: // pkoz 08.07.2011 // содрано тут : \Classes\GRD_ProjectCompile\projectCompileOnAOSs #macrolib.File #localmacro.AOSIdPortSeparator '@' #endmacro #localmacro.CmdLinePortSeparator ':' #endmacro void GRD_connectParticularAOS() { System.Diagnostics.ProcessStartInfo processStartInfoLoc; System.Diagnostics.Process processLoc; Integer curServerId; SysServerSessions sysServerSessionsLoc = sysServerSessions.data(); str cmdLineArgs; ; curServerId = (select firstonly ServerId from SysClientSessions where SysClientSessions.SessionId == sessionid() ).ServerId; if (!( sysServerSessionsLoc.Status == SysServerStatus::Alive && sysServerSessionsLoc.LoadBalance == NoYes::No // вообще балансировщики всегда имеют статус SysServerStatus::Offline, так что условие избыточно // && sysServerSessionsLoc.ServerId != curServerId )) { throw error("Нельзя поключиться к выбранному AOS'у"); } cmdLineArgs = strfmt( @'-loadbalance=0 -aos2=%1', strreplace( sysServerSessionsLoc.AOSId, #AOSIdPortSeparator, #CmdLinePortSeparator ) ); processLoc = new System.Diagnostics.Process(); processStartInfoLoc = processLoc.get_StartInfo(); processStartInfoLoc.set_FileName( WinAPI::getCurrentProcessExecutablePath() ); processStartInfoLoc.set_Arguments( cmdLineArgs ); processStartInfoLoc.set_UseShellExecute( false ); if (!processLoc.Start()) { error("@SYS83461"); } } |
|
|
За это сообщение автора поблагодарили: Veter (1), skuull (2), Ace of Database (3), AlGol (3). |