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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.02.2004, 08:01   #15  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано dirigente
Я ПРАВДА НЕ ВИЖУ здесь ошибки программирования, как утверждает уважаемый Garic!
Во время транзакции блокируются не только записи в таблицах, но и экстенты сегментов отката. Это такие логические группы блоков данных в механизме журналирования и отката изменений в Oracle. Если Ваша длительная транзакция и еще одна любая транзакция аксапты с записью большого объема данных будут привязаны к одному сегменту отката(такое вполне возможно), то может возникнуть ошибочная ситуация, в результате которой, транзакция с большим кол-вом записываемых данных будет отменена.
Вероятность того, что эта ситуация возникнет, растет с кол-вом таких ляпов в программировании, частотой использования Вашей формы и т.д.
Даже если ситуация, описанная выше, не произойдет - благодаря вашему стилю смешивать presentation и persistent логику, существенно возрастет ресурсопотребление СУБД. Если экстент занят вашей транзакцией долгое время, вместо переиспользования существующих, серверу понадобится производить операции создания новых экстентов, а в последствии их удаления.

Следуя традиции сравнивать аксапту с автомобилями - представьте, как на хорошей скоростной дороге, предназначенной для грамотных автомобилистов с исправными автомобилями, Вы перекрыли полосу движения только потому, что пользуетесь механикой и не умеете переключать скорости.

Цитата:
Изначально опубликовано dirigente

Просто объясните если знаете: ПОЧЕМУ ВОЗНИКАЕТ ОШИБКА?
Точно не знаю, думаю процесс финализации формы происходит по-разному в этих случаях. И при использовании CommandButton OK происходит автоматический коммит.. После чего вы пытаетесь сделать коммит еще раз.. Это предположения, которые проверять абсолютно не хочется - для того, чтобы внутри транзакции работать с логикой верхних уровней - нет никаких оснований кроме лени.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему не дает проставлять инв.номер ОС через закупку? Pismarkina DAX: Функционал 5 03.11.2006 15:49
Почему loka DAX: Программирование 2 01.12.2005 17:36
Почему такое расхождение в скорости выполнения Владимир Максимов DAX: Программирование 28 11.09.2004 12:44
Почему при консолидации не консолидируются корр. счета? George V. Tavrizoff DAX: Функционал 4 15.05.2004 23:59
почему форма сразу закрывается ? puz DAX: Программирование 3 09.09.2003 11:56

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

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

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