02.01.2007, 19:22 | #1 |
Banned
|
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., выход есть. Используйте простой 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(); } } Последний раз редактировалось EVGL; 02.01.2007 в 19:24. |
|
|
За это сообщение автора поблагодарили: mazzy (5), maze (1), b_nosoff (2), Morpheus (2), Arahnid (1), rkorchagin (1), Rezervforall (1). |
02.01.2007, 20:39 | #2 |
Участник
|
Спасибо.
См. также Установка Ax 4.0 SP1 на SQL Server 2005 SP2 |
|
26.04.2010, 10:15 | #3 |
Участник
|
русский текст ошибки (чтобы можно было находить поиском)
Невозможно выполнить команду языка определения данных в (). База данных SQL обнаружила ошибку. |
|
Теги |
synchronisation error, баг, законченный пример, ошибка, полезное, синхронизация баз |
|
|