1

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

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

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

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

ответ

3

Просто посмотрите на таблицу 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 был повторно использован и/или вызывает проблемы с кешированием. See here for more info about how/why this happens.

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

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

ли/были вы также возникли проблемы с партиями работает?(Немного связанный, но мне в основном просто любопытно по этому вопросу)

+0

re: восстановлена ​​копия другой базы данных, да, определенно. У нас была проблема с несколькими обновлениями, когда мы забыли проверить все, и наш столик блокировки был протер. –

+0

Если вы недавно восстановили копию другой базы данных, тогда есть хорошая вероятность, что ваш 'GLOBALGUID' был повторно использован. Посмотрите на мой пост снова, я только что отредактировал его. –

+0

В настоящее время у нас нет партий, мы находимся на ранних этапах реализации. –

Смежные вопросы