天天看點

DM7遷移DM8常見錯誤

處理遷移過程中出現的錯誤

記錄超長

DM7 在初始化的時候,選擇的頁大小影響後面表每行資料的長度,表每行的長度之和(普通資料類型)不能超過一頁大小,如果超過 1 頁大小即報記錄超長的錯誤,如下圖:

DM7遷移DM8常見錯誤

解決辦法:

因為是DM7到DM8的遷移,是以表結構方面不會存在問題,初始化參數方面也是一緻的,是以最有可能的原因就是源端該表啟用了超長記錄功能,目的端啟用超長記錄即可解決。

違反唯一性限制

這種情況是因為表中設定了唯一性限制或者主鍵限制,但是資料中有重複記錄造成的。這種情況有可能是原始庫的限制被禁用了,或者資料重複遷移造成的。

解決辦法:

檢視是否是限制被禁用導緻的,如果是的話,需要和應用商量如何解決,是否需要删除重複資料,還是去掉該限制,重新遷移該表。如果不是的話,重新遷移即可解決。

違反引用限制

這種問題主要是由外鍵限制造成的,父表的資料沒有遷移,先遷移了子表的資料,錯誤如圖所示:

DM7遷移DM8常見錯誤

解決辦法:

遷移的時候先不遷移外鍵等限制,在選擇好要遷移的表時,點選轉換,按照下面步驟遷移。

(1) 第一次隻選擇表定義,不選擇限制等,如圖:

DM7遷移DM8常見錯誤

(2) 第一次遷移完成後(確定沒有錯誤),第二次隻選擇資料,如圖:

DM7遷移DM8常見錯誤

(3) 第三步選擇限制、索引等,如圖:

DM7遷移DM8常見錯誤

按照上面三步基本可以建立成功。

視圖遷移過程中順序問題:無效的表或試視圖

這個問題一般是因為在遷移視圖之前,沒有将視圖依賴的表遷移過去,如圖所示:

DM7遷移DM8常見錯誤

解決辦法:

也有可能是該視圖依賴的是其他使用者的表,是以嚴格按照遷移的順序,先遷移表,然後再遷移視圖、存儲過程、函數等的順序遷移即可。

無效的方法名

一般出于存儲過程、函數等的建立。

解決辦法:

檢查依賴的方法是否被建立。

文法分析出錯

一般出于語句中使用資料庫的關鍵字以及保留字。

解決辦法:

(1) 把關鍵字用雙引号引起來,如果還是不行使用以下方法。

(2) 檢視源端資料庫ini參數KEYWORDS,目的端此參數需保持一緻。