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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.11.2012, 16:43   #1  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Падает клиент при записи значения поля через ADO на пакетном сервере
Здравствуйте, коллеги.

Проблема:
Имеется класс - наследник RunBaseBatch, который хочется пускать на сервере пакетной обработки. В нём присутствует код, который через ADO пишет данные в базу MS SQL. При запуске напрямую всё работает как надо. При запуске через обработчик пакетных заданий валится клиент, на котором этот обработчик запущен.

Код, вызывающий ошибку:

X++:
recordSet = adoRecordSet.recordSet();
fields = recordSet.Fields();

field = fields.Item('TRANSDATE');
variant = ComVariant::createFromDateAndTime(transDate, 0);
field.value(variant); // Здесь падает клиент, если на нём запущена обработка пакетных заданий
Тестовый класс, который воспроизводит эту ошибку, имеется во вложении. В нём также имеется метод runInMemory, который имитирует ситуацию с ADO рекордсетом в памяти, на нём такое поведение клиента не воспроизводится.

Используется DAX 4.0 SP2
Версия клиента (kernel version): 4.0.2501.116
Вложения
Тип файла: xpo Class_MDL_ADOFieldCrashBatch.xpo (5.4 Кб, 418 просмотров)

Последний раз редактировалось McArrow; 21.11.2012 в 16:59.
Старый 22.11.2012, 10:08   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Поменяйте свойство класса RunOn с CalledFrom на Server
__________________
// no comments
За это сообщение автора поблагодарили: McArrow (1).
Старый 22.11.2012, 11:03   #3  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Цитата:
Сообщение от dech Посмотреть сообщение
Поменяйте свойство класса RunOn с CalledFrom на Server
Спасибо за наводку. Поменял RunOn на Client, проблема устранилась. Видимо при выполнении на сервере нельзя делать такие нехитрые манипуляции с ComVariant - хотя, вроде бы, предпосылок для такого поведения нет. Кстати, если поменять RunOn на Server, начинает стабильно падать и при непосредственном запуске.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Клиент падает при попытке сравнить таблицу во время импорта vanokh DAX: Программирование 19 09.09.2015 11:49
Падает клиент при прикреплении файла Ashir DAX: Программирование 21 23.06.2014 21:44
Отсортировать записи после группировки через Query NickMDAX DAX: Программирование 3 13.03.2012 07:10
Не отображаются значения поля на форме InventTable Ulyxess DAX: Программирование 17 07.04.2010 13:27
Автоматическое увеличение значения поля при создании новой записи. sguryev DAX: Программирование 3 06.02.2003 14:00

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

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

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