Что мне делать, если MorphX не разрешит мне зарегистрироваться?

Когда я иду проверить что-то в MorphX VCS прямо сейчас, я получаю следующее сообщение:

Не удается создать запись в SysVersionControlMorphXRevisionTable (SysVersionControlMorphXRevisionTable). Запись уже существует.

С вещами, которые уже были проверены один раз, я смог решить эту проблему с помощью get last, а затем новой проверки / регистрации. Однако, когда дело доходит до добавления, я полностью застрял. Есть ли решение для этого или мы полностью закрыли нашу VCS?

Примечание: эта ошибка появляется только тогда, когда мы пытаемся зарегистрироваться из проекта разработки. Регистрация непосредственно на AOT не дает этой проблемы.

1 ответ

Решение

Просто посмотрите на стол SysVersionControlMorphXRevisionTable (в SQL, если вы не можете получить доступ) и посмотрите, что может быть дубликат записи. Уникальный индекс ItemPath а также Version, Я сомневаюсь, что вы увидите здесь что-нибудь.

Скорее всего, это проблема с вызовом в этом методе \Data Dictionary\Tables\SysVersionControlMorphXRevisionTable\Methods\latestVersionNumber где он пытается получить текущую наивысшую ревизию и вызывается \Data Dictionary\Tables\SysVersionControlMorphXRevisionTable\Methods\create,

Поместите точку останова в create Метод строки № 48 и посмотрим, что revision.Version и перед вставкой проверьте в SQL, если ItemPath/Version уже существует в SQL.

Я предполагаю, что это, вероятно, проблема кэширования сервера / клиента. Чтобы устранить проблему, обновите все кэши ваших клиентов в разделе Tools>Caches, Если это не помогло, и в любом случае это хорошая идея, скопируйте эти пункты меню:

  • \Menu Items\Action\SysFlushAOD
  • \Menu Items\Action\SysFlushData
  • \Menu Items\Action\SysFlushDictionary
  • \Menu Items\Action\SysFlushReportServer

Чтобы новый пункт меню и изменить свойство RunOn = Server, Затем запустите их, и он очистит кеш вашего сервера. Если это все еще не работает, попробуйте перезапустить AOS.

Если это не работает, ваши пользователи application user cache файлы могут быть повреждены. Закройте клиент и удалите файлы *.auc и *.kti в папке%LocalAppData% (как правило, C:\Users\[user]\AppData\Local) и снова откройте своего клиента.

В среде, которую вы используете, вы недавно восстановили копию другой базы данных?

Изменить: Теперь, зная, что вы сделали восстановление БД, есть большая вероятность, что ваш GLOBALGUID был повторно использован и / или вызывает проблемы с кэшированием. Смотрите здесь для получения дополнительной информации о том, как / почему это происходит.

Вы, вероятно, должны остановить AOS и выполнить эти команды SQL:

UPDATE SYSSQMSETTINGS SET GLOBALGUID = '00000000-0000-0000-0000-000000000000'
DELETE FROM SYSCLIENTSESSIONS
DELETE FROM SYSSERVERSESSIONS

Есть ли у вас проблемы с запуском партий? (В некоторой степени связано, но мне в основном просто интересно по этому вопросу)

Другие вопросы по тегам