04.07.2010, 00:06 | #1 |
Участник
|
DAX 2009 некорректный SPID в форме активных пользователей
Коллеги, кто-нибудь делал в Ax 2009 вывод оракловых SID, SERIAL# в форме активных пользователей ?
При переходе на ax2009 столкнулись с проблемой, что код который успешно работал в трешке не работает в 2009-й. Для получения SID, SERIAL# использовали такой запрос 'SELECT SERIAL#,SID FROM V$SESSION WHERE AUDSID IN (\''+_spid+'\')' В итоге имеем : в одной БД живут 2 схемы, для 3-ки и для 2009. Для трешки запрос отрабатывает корректно, для 2009-й - нет. Более детальное рассмотрение выявило, что в 3-ке параметр _spid, который соответствует оракловому AUDSID состоит из 9 цифр. А в 2009-й - только из 8. Похоже где то внутри ядра в Аксапте, при вызове new xSession().databaseSpid() происходит усечение строки до 8 символов. Как можно обойти это ограничение ? Может есть возможность заставить оракл генерить номера audsid длиной не более 8 символов ? Или пофиксить аксапту ... |
|
|
За это сообщение автора поблагодарили: gl00mie (10). |
04.07.2010, 17:18 | #2 |
Участник
|
Судя по всему при вызове new xSession().databaseSpid() просто теряется последний символ. потому что если соединений 2, то AUDSID первого выводится корректно, а второго на 1 символ короче.
|
|
05.07.2010, 17:19 | #3 |
Участник
|
Перерыл весь инет - нет упоминаний о глюке.
Только эта тема Неужели никто на оракле 2009-ю не поднимал ? |
|
Теги |
ax2009, oracle, sid, spid, deadlock |
|
|