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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.08.2008, 11:12   #5  
Bishop is offline
Bishop
Участник
 
89 / 60 (3) ++++
Регистрация: 12.08.2004
Адрес: Москва
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Вот простенький джобец, который позволяет локализовать проблемную таблицу.
По-моему, некорректный джобец. Во-первых, он работает до первой ошибки, во-вторых, имя таблицы с ошибкой как раз не выводится, а в инфологе только куча строк "Table xxx - ОК".

Вчера как раз тоже написал подобный джоб, может кому пригодится:
X++:
// Синхронизация с выводом наименований "неправильных" таблиц
static void DbSynchronize(Args _args)
{
    #AviFiles
    Dictionary              dictionary;
    DictTable               dictTable;
    int                     i;
    SysOperationProgress    progress;
    ;
    dictionary = new Dictionary();
    progress = SysOperationProgress::newGeneral(#AviUpdate, "Синхронизация", dictionary.tableCnt());
    for (i = 1; i <= dictionary.tableCnt(); i++)
    {
        dictTable = new DictTable(dictionary.tableCnt2Id(i));
        if  (dictTable.isSql() &&
                (
                    !dictTable.configurationKeyId()    ||
                    isConfigurationkeyEnabled(dictTable.configurationKeyId())
                )
            )
        {
            try
            {
                progress.setText(dictTable.name());
                progress.setCount(i);
                if (!appl.dbSynchronize(dictTable.id(), false, true, false))
                {
                    warning(strfmt("Проблемы с таблицей %1 (Id = %2)!", dictTable.name(), dictTable.id()));
                }
            }
            catch (Exception::Error)
            {
                warning(strfmt("Проблемы с таблицей %1 (Id = %2)!", dictTable.name(), dictTable.id()));
            }
        }
    }
    info("Синхронизация завершена");
}
По опыту, проблемы при синхронизации возникают в основном в двух случаях:
- некорректные данные в таблице SqlDictionary (чаще всего - их отсутствие),
- нарушение уникального индекса (самая "попса" - табличка InventDim при отключении складской аналитики)
За это сообщение автора поблагодарили: DarLord (0).
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересоздание таблицы при синхронизации Serg16 DAX: Администрирование 1 26.08.2009 13:55
Ошибка при синхронизации таблицы Eldar9x DAX: Программирование 2 27.02.2009 15:19
ошибки синхронизации Azat DAX: Программирование 1 14.01.2005 13:32
Проблема синхронизации при установке SP3 на SP2 v3.0 ravil DAX: Администрирование 6 23.06.2004 17:20
Влияет ли содержимое таблицы SQLSTORAGE на процесс синхронизации? Maxim Gorbunov DAX: Администрирование 1 21.06.2004 17:59

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

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

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