AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.03.2007, 18:14   #1  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
? сброс блокировок при update
Dear All!

(AX 3.0 SP3 + SQL Server 2005 SP2 x64)
Довольно часто попадающийся код X++:

ttsbegin;
...
select forupdate Table ...;
...
Table.update();
...
ttscommit;

Отслеживал профайлером блокировки, но, не знаю по какой причине, не ловятся Lock Release. Может, глюк какой...
А вопрос следующий: когда происходит снятие блокировок на update? После Table.update()? Или после ttscommit? Или после выхода из метода и "ликвидации" экземпляра Table?
Вопрос к тем, кто на практике это наблюдал...
Старый 26.03.2007, 18:25   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А вот так
X++:
ttsbegin;
pause;
select forupdate Table ...;
pause;
Table.update();
pause;
ttscommit;
pause;
И посмотреть блокировки?
Старый 26.03.2007, 21:37   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Не раньше последнего ttsCommit
Возможно что у вас этот код был внутри другой транзакции - потому блокировки не снимались и вы не видели их Lock Release.
Посомтрите в коде значение
Application.ttsLevel()
Пока её значение отлично от 0 - не должно быть освобождения от блокировок.
В отладчике можно непосредственно увидеть в строке статуса уровень вложенности текущей транзакции, так что можно просто отладчиком пройтись.

Последний раз редактировалось Logger; 26.03.2007 в 21:41. Причина: опечатки
Старый 27.03.2007, 11:31   #4  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
2belugin
2Logger

Спасибо!

2belugin

Насчёт pause: на рабочей Аксапте, к сожалению, это невозможно...
А на тестовой можно - просто не сообразил...
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dianne Siebold: Rec Fields Required in AIF Partial Update Blog bot DAX Blogs 0 20.01.2009 09:05
Dianne Siebold: Update on the Dynamics AX SDK Team kashperuk DAX Blogs 1 16.10.2007 08:23
dynamicsusers: The Naked Business Part III - The site update Blog bot DAX Blogs 0 22.05.2007 04:42
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:22.