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

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

背景

不同的資料庫平台提供不同的內建功能,包括從目錄資料表和檢視 (例如,Microsoft 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 沒有未使用資料表資料行的概念。

可能的補救方式

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