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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.12.2006, 21:06   #9  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от itfs Посмотреть сообщение
Идея интересная, но ведь MV refresh-ить надо иначе они устареют.

С уважением, itfs.
Ясен хрен надо. Совсем задолбался со всем этим переосом - забыл аксаптовский код приложить. Надо немного подправить appl.dbSynchronize. Вьюшки будут рефрешиться перед каждой синхронизацией. Созданы они с параметром REFRESH по умолчанию, т.е. FORCE (по изменениям, если не выйдет, то целиком) - рефрешатся обе вместе около одной секунды. Синхронизацию аксапта вызывает при любом сохранении объекта в АОТ, но ИМХО лучше помечтать секунду при сохранении объекта, чем мечтать почти час при полной синхронизации. Прикрутить автоматическое обновление прям на сервере ON COMMIT к этим вьюшкам у меня не получилось (хотя надо признать не очень то и старался). Если кто все таки сделает обновление ON COMMIT, расскажите пжл

X++:
boolean dbSynchronize(tableId tableId         = 0,   // 0 = all tables, non-zero is a valid table handle
                      boolean syncAsNeeded    = true,  // true = objects touched in the AOT, false = unconditional synchronize
                      boolean continueOnError = true,
                      boolean showProgress    = true ) // true = report all problems, but throw only after all tables are synchronized, false = stop synchronize after first error/problem
{
    SqlSyncPending  sqlSyncPending = new SqlSyncPending();
    boolean         ok;
    ;

    setPrefix("@SYS22807");

    if (SqlSystem::databaseBackendId() == DataBaseId::Oracle)
    {
        new Connection().createStatement().executeUpdate("BEGIN DBMS_MVIEW.REFRESH('USER_IND_COLUMNS, USER_INDEXES'); END;");
    }

    ok = super(tableId, syncAsNeeded, continueOnError, showProgress);

    if (ok && this.isRunningMode())
    {
        SysApplicationSetup::saveApplicationVersion(SysApplicationSetupMode::Synhronize);
    }


    return ok;
}
За это сообщение автора поблагодарили: Logger (3), itfs (1).
Теги
ax3.0, oracle, полезное, синхронизация баз, тормоза

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Синхронизация таблицы - проблема TasmanianDevil DAX: Администрирование 3 30.10.2006 09:41
навязчивая синхронизация Антон Солдатов DAX: Функционал 11 22.04.2005 11:04
Синхронизация таблиц при изменении EDT z_av DAX: Программирование 1 16.12.2004 11:55
Репликация и синхронизация Tays DAX: Администрирование 12 24.11.2004 12:18
синхронизация с outlook alpine DAX: Функционал 7 09.06.2004 13:53

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

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

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