DSCT00005:不支援系統識別碼轉換 (錯誤)

本文涵蓋資料庫結構描述轉換工具組無法轉換特定內建系統識別碼的原因。

背景

不同的資料庫平臺提供不同的內建功能,SQL) 包括 sys.tablessys.columns 從目錄資料表和檢視 ( (到特殊函式和程式的所有專案。 並非所有來自源資料庫的內建系統物件在新的目標資料庫中都有對應的相符專案。 資料庫結構描述轉換工具組會嘗試模擬源資料庫的功能,但有時不可能。 在這種情況下, DSCT00005 會產生錯誤訊息。

範例

使用 Oracle SYS.ALL_UNUSED_COL_TABS 的資料字典來考慮下列查詢:

SELECT
    TABLE_NAME
FROM
    SYS.ALL_UNUSED_COL_TABS
WHERE
    OWNER = 'TEST'

轉換以 Microsoft SQL 平臺為目標的查詢時, DSCT00005 會產生錯誤訊息,因為 Microsoft SQL沒有未使用資料表資料行的概念。

可能的補救方式

檢閱已轉換的程式碼,以判斷此功能是否為業務關鍵,或不適用於新的資料庫平臺。 視特定案例而定,可能不需要將有問題的邏輯傳送至新的資料庫平臺,例如上述範例,其中只有新資料庫平臺中未使用的資料行概念。 在其他情況下,無法轉換的程式碼可能是無法移除的應用程式商務邏輯的一部分。 在這種情況下,必須手動轉換邏輯。