27.02.2009, 12:50 | #1 |
MCTS
|
Ошибка при синхронизации таблицы
Привет всем. При попытке синхронизации таблицы выдается:
Info Синхронизация Описание ошибки SQL: ORA-01408: этот список столбцов уже индексирован Info Синхронизация Оператор SQL: CREATE UNIQUE INDEX I_212RENAMEACCOUNTNUM4 ON LEDGERJOURNALTRANS (SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) COMPUTE STATISTICS TABLESPACE AXLIVEIDX Error Синхронизация Ошибки во время синхронизации базы SQL со словарем данных системы. Операция закончилась неудачно. Info Синхронизация Синхронизация 1 таблиц закончилась неудачно Причем индекс не уникальный. После удаления индекса все синхронизируется. Пытаюсь импортировать с идентификаторами из другого приложения - опять ошибка. И еще SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) - это я так понимаю список полей. dataarea видимо добавляется автоматически, но тут не хватает одного поля AssetDebAccountNum_RU. В другом приложении, как и положено - 3 индекса: AXDEV.I_212RENAMEACCOUNTNUM4 SYS_NC00197$ 1 SYS_NC00201$ 2 // тоже какое то странное название (должно быть, наверное, AssetDebAccountNum_RU) RECID Подскажите, пожалуйста, что еще тут можно сделать? |
|
27.02.2009, 15:13 | #2 |
MCITP
|
Цитата:
Сообщение от Eldar9x
Привет всем. При попытке синхронизации таблицы выдается:
Info Синхронизация Описание ошибки SQL: ORA-01408: этот список столбцов уже индексирован Info Синхронизация Оператор SQL: CREATE UNIQUE INDEX I_212RENAMEACCOUNTNUM4 ON LEDGERJOURNALTRANS (SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) COMPUTE STATISTICS TABLESPACE AXLIVEIDX Error Синхронизация Ошибки во время синхронизации базы SQL со словарем данных системы. Операция закончилась неудачно. Info Синхронизация Синхронизация 1 таблиц закончилась неудачно Причем индекс не уникальный. После удаления индекса все синхронизируется. Пытаюсь импортировать с идентификаторами из другого приложения - опять ошибка. И еще SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) - это я так понимаю список полей. dataarea видимо добавляется автоматически, но тут не хватает одного поля AssetDebAccountNum_RU. В другом приложении, как и положено - 3 индекса (3 поля в индексе наверное имелось ввиду?): AXDEV.I_212RENAMEACCOUNTNUM4 SYS_NC00197$ 1 SYS_NC00201$ 2 // тоже какое то странное название (должно быть, наверное, AssetDebAccountNum_RU) RECID Подскажите, пожалуйста, что еще тут можно сделать? Поля типа SYS_NC00197$ - это следствие функциональных индексов, при создании FBI создаются скрытые столбцы в таблице и они же индексируются (обсуждалось не так давно вскользь на форуме тут). А теперь по существу: Зная ваши приколы, ничего конкретного сказать не возьмусь. (подробности тут:Ошибка дублирования индекса В нормальной ситуации такая ошибка возникать не должна, в вашей же - может быть всё что угодно и похоже кроме тов-ща db здесь никто о вашей системе ничего толком не знает... Наверняка причина в том, что у вас "рассинхронизировны" индексы в БД и в Аксапте. (хотя бы потому что вы утверждаете что в БД в индексе 3 колонки, а в аксапте импортируется только 2)...
__________________
Zhirenkov Vitaly |
|
27.02.2009, 15:19 | #3 |
MCTS
|
ZVV
вобщем то все заработало. Оказалось, я выключил один из конф. ключей, родителя у него нет, подчиненных тоже нет. К этой таблице он тоже никаким обрзом не относится. Так после включения, все синхронизируется нормально. При выключенном ключе, аксапта пытается создать индекс другим скриптом (как раз тем, который создает уже существующий индекс). Вьюшек, ускоряющих синхронизацию, в базе нет. Какая тут связь, непонятно... А все, разобрался, связь была. Ключ висит на одном из полей индекса. Поэтому после отключения, поле пропадает и получаем дублирующийся индекс. Последний раз редактировалось Eldar9x; 27.02.2009 в 15:23. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Пересоздание таблицы при синхронизации | 1 | |||
Ошибка синхронизации | 2 | |||
Ошибка синхронизации | 4 | |||
Ошибка синхронизации при накате SP4 EE FP1 | 11 | |||
Русская локализация Axapta 3 ? | 59 |
|