[英]What do I do when MorphX won't let me check in?
當我立即檢查MorphX VCS中的內容時,我收到以下消息:
無法在SysVersionControlMorphXRevisionTable(SysVersionControlMorphXRevisionTable)中創建記錄。 該記錄已存在。
對於已經簽出一次的東西,我已經能夠通過最新的,然后新的結賬/簽到來解決這個問題。但是,當涉及到添加時,我完全陷入困境。 有沒有解決這個問題或者我們是否已完全接受了我們的VCS?
注意:僅當我們嘗試從開發項目簽入時才會出現此錯誤。 直接在AOT上簽入不會出現此問題。
只需查看表SysVersionControlMorphXRevisionTable
(如果您無法訪問,則在SQL中)並查看重復記錄的內容。 唯一索引是ItemPath
和Version
。 我懷疑你會在這里看到任何東西。
這很可能是這個方法調用的問題\\Data Dictionary\\Tables\\SysVersionControlMorphXRevisionTable\\Methods\\latestVersionNumber
它試圖獲得當前最高版本並且被\\Data Dictionary\\Tables\\SysVersionControlMorphXRevisionTable\\Methods\\create
。
在create
方法行#48中放置一個斷點並查看revision.Version
是什么,在插入之前,檢查SQL中是否已存在ItemPath
/ Version
。
我猜它可能是服務器/客戶端緩存問題。 要解決此問題,請在“ Tools>Caches
下刷新所有客戶端Tools>Caches
。 如果這不能解決,無論如何都要做好,請復制以下菜單項:
\\Menu Items\\Action\\SysFlushAOD
\\Menu Items\\Action\\SysFlushData
\\Menu Items\\Action\\SysFlushDictionary
\\Menu Items\\Action\\SysFlushReportServer
到新菜單項並更改屬性RunOn = Server
。 然后運行這些,它將刷新您的服務器緩存。 如果仍然無效,請嘗試重新啟動AOS。
如果這不起作用,則您的用戶application user cache
文件可能已損壞。 關閉客戶端並刪除%LocalAppData%文件夾中的* .auc和* .kti文件(通常為C:\\Users\\[user]\\AppData\\Local
)並重新打開客戶端。
在您正在使用的環境中,您最近是否恢復了另一個數據庫的副本?
編輯:現在知道你進行了數據庫恢復,很有可能重新使用GLOBALGUID
和/或導致緩存問題。 有關如何/為何如此發生的更多信息,請參見此處 。
你應該停止你的AOS並運行這些SQL命令:
UPDATE SYSSQMSETTINGS SET GLOBALGUID = '00000000-0000-0000-0000-000000000000'
DELETE FROM SYSCLIENTSESSIONS
DELETE FROM SYSSERVERSESSIONS
您是否也遇到批次運行問題? (有點相關,但我主要只是對這個問題感到好奇)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.