Del via


Kjent problem – Kopier aktivitet fra Oracle til Lakehouse mislykkes for datatypen Tall

Kopieringsaktiviteten fra Oracle til et lakehouse mislykkes når en av kolonnene fra Oracle har en Tall datatype. I Oracle kan skalaen være større enn presisjon for desimal-/numeriske typer. Parkettfiler i Lakehouse krever at skalaen er mindre enn eller lik presisjon, slik at kopieringsaktiviteten mislykkes.

status: åpne

produktopplevelse: Data Factory

Symptomer

Når du prøver å kopiere data fra Oracle til et lakehouse, får du en feilmelding som ligner på: ParquetInvalidDecimalPrecisionScale. Invalid Decimal Precision or Scale. Precision: 38 Scale:127.

Løsninger og midlertidige løsninger

Du kan omgå dette problemet ved å bruke en spørring til å eksplisitt angi kolonnen til NUMBER(p,s) eller andre typer, for eksempel BINARY_DOUBLE. Når du bruker NUMBER(p,s), må du kontrollere p >= s og s >= 0. I mellomtiden bør området som er definert av NUMBER(p,s) dekke området for verdiene som er lagret i kolonnen. Hvis ikke, får du en feilmelding som ligner på ORA-01438: value larger than specified precision allowed for this column. Her er en eksempelspørring: SELECT CAST(ColA AS BINARY_DOUBLE) AS ColB FROM TableA

Neste trinn