共用方式為


已知問題 - 從 Oracle 到 Lakehouse 的複製活動會因 Number 資料類型而失敗

Oracle 其中一個資料行具有 Number 資料類型時,從 Oracle 到 Lakehouse 的複製活動會失敗。 在 Oracle,小數/數值類型的小數位數可以大於精確度。 Lakehouse 的 Parquet 檔案,小數位數必須小於或等於精確度,所以複製活動會失敗。

狀態:開啟

產品體驗:Data Factory

徵兆

嘗試從 Oracle 將資料複製到 Lakehouse 時,您會收到類似 ParquetInvalidDecimalPrecisionScale. Invalid Decimal Precision or Scale. Precision: 38 Scale:127 的錯誤。

解決方案與因應措施

使用查詢將資料行明確轉換成 NUMBER(p,s) 或其他類型,例如 BINARY_DOUBLE,即可暫時排解這個問題。 使用 NUMBER(p,s) 時,請確定 p >= ss >= 0。 同時,NUMBER(p,s) 定義的範圍應涵蓋儲存於資料行那些值的範圍。 如果沒有,您會收到類似 ORA-01438: value larger than specified precision allowed for this column 的錯誤訊息。 查詢範例如下:SELECT CAST(ColA AS BINARY_DOUBLE) AS ColB FROM TableA

下一步