Что мне делать, если 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
Есть ли у вас проблемы с запуском партий? (В некоторой степени связано, но мне в основном просто интересно по этому вопросу)