Показать сообщение отдельно
Старый 02.01.2007, 19:22   #1  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Lightbulb 4.0: решение для Cannot execute a data definition language command on ()
Если в Axapta 4.0 SP1 синхронизация выдает следующее идиотское сообщение:
Cannot execute a data definition language command on ().
The SQL database has issued an error.
,
Название: SyncErrorsBefore.GIF
Просмотров: 1156

Размер: 21.3 Кб

выход есть. Используйте простой job:
X++:
static void forceDbSynchronize(Args _args)
{
    Dictionary              dict;
    int                     idx, lastIdx, totalTables;
    TableId                 tableId;
    Application             application;
    SysOperationProgress    progress;
    StackBase               errorStack;
    ErrorTxt                errorTxt;
    ;

    application = new Application();
    dict = new Dictionary();
    totalTables = dict.tableCnt();
    progress = new SysOperationProgress();
    progress.setTotal(totalTables);
    progress.setCaption("@SYS90206");
    errorStack = new StackBase(Types::String);

    lastIdx = 0;
    try
    {
        for (idx = lastIdx+1; idx <= totalTables; idx++)
        {
            tableId = dict.tableCnt2Id(idx);
            progress.setText(dict.tableName(tableId));

            lastIdx = idx;
            application.dbSynchronize(tableId, false, true, false);
            progress.incCount();
        }
    }
    catch (Exception::Error)
    {
        errorTxt = strFmt("Error in table '%1' (%2)", tableId, dict.tableName(tableId));
        errorStack.push(errorTxt);
        retry;
    }

    setPrefix("@SYS86407");
    errorTxt = errorStack.pop();
    while (errorTxt)
    {
        error(errorTxt);
        errorTxt = errorStack.pop();
    }
}
Вот результат работы:
Название: SyncErrorsAfter.GIF
Просмотров: 1134

Размер: 10.7 Кб

Последний раз редактировалось EVGL; 02.01.2007 в 19:24.
За это сообщение автора поблагодарили: mazzy (5), maze (1), b_nosoff (2), Morpheus (2), Arahnid (1), rkorchagin (1), Rezervforall (1).