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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2006, 10:51   #23  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от st_msav
...
при выполнении операции импорта данных система где-то начинает зацикливаться, т.е. резурсы процессора отъедает, а объем БД практически не изменяется.
...
Вот и мне захотелось перелить данные из Oracle на MS SQL... нет, я конечно знал, что тормозит... но чтобы настолько...

проблема возникает с таблицами, для которых включены свойства CreatedTransactionId и ModifiedTransactionId. Например, когда у меня начала заливаться LedgerTrans, то скорость импорта достигла 4-х записей в секунду. При этом ax32.exe отъедает ресурсы процессора.

Я пока остановился на двух вариантах борьбы с проблемой. Вариант №1 — закоментарить в Classes\SysDataImport\importBuffer две следующих строчки кода

this.updateTransactionId(_oldTableId, _oldCreatedTransactionId, _oldModifiedTransactionId);
this.updateTransactionIdReference();

Коментарить нужно в двух местах.

Решение кривое, но быстрое. При импорте после таких модификаций умирает аудит, но для проведения разработки (и тестирования) данные будут вполне вменяемые.

Также я думаю над вариантом №2. Суть в том, чтобы не пересчитывать RecId Created/ModifiedTransId. Т.е. закачать как есть, а потом сдвинуть значения в SystemSequence (зарезервировав правильное количество кодов записей через класс). В общем, он очень похож на решение с MS DTS, но реализуем в Аксапте и снимает некоторые сложности с SqlSystemVariables и именами полей, которые были перечислены выше.

Предварительный эксперимент пока дал положительные результаты. База 1.5 ГБ (файл данных, в MS SQL 2.8 ГБ с индексами получилось) загрузилась в пределах полутора часов на лаптопе (хоть и мощный, но не сервер все таки). Планирую продолжить опыты в будущем.

Преимуществом варианта является то, что его можно параллелить (наиболее крупные таблицы тянуть параллельно, выделив их в отдельную группу), так как RecId не пересчитываются. Также при понимании дела с помощью него можно перенести несколько компаний, которые имеют общие данные в виртуальных компаниях.

Естественно, такой вариант прокатит только в случае, если компани переливается целиком, а в заливаемой компании нет данных. Для объединения двух компаний, например, такой вариант не подойдет. Но для миграции с Oracle на MS SQL (или наоборот), думаю, сможет подойти.
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: mazzy (15).
Теги
тормоза, экспорт/импорт

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт/импорт платежных поручений _scorp_ DAX: Функционал 96 04.05.2017 17:52
Стандартный импорт данных. Обновление sparur DAX: Функционал 0 24.03.2008 19:07
Экспорт/импорт таблиц IT-specialist DAX: Администрирование 15 26.02.2005 20:46
Импорт на данных из 2.5 в 3.0 ddadream DAX: Прочие вопросы 14 10.06.2003 20:28
Импорт данных Swetik DAX: Функционал 2 30.01.2003 01:52
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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