Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
I am attempting to copy data from an on prem oracle table to Fabric (tried both wh and lh). This is requiring the use of Azure Data Lake Storage Gen2 for staging. When running the action, the following error is received. I have done this in the past without issue. Not sure why there is a problem now. The table I'm attempting to copy is a customer DIM table. It only contains text and date fields, nothing extravegant.
{
"errorCode": 2200,
"message": "ErrorCode=ParquetInvalidDecimalPrecisionScale,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Invalid Decimal Precision or Scale. Precision: 38 Scale: 127.,Source=Microsoft.DataTransfer.Richfile.ParquetTransferPlugin,'",
"details": []
}
This has been a struggle for me for a few weeks too. I've created my own workaround for this problem. It took some time to finetune, but it works for me. Hope it helps you too.
First, I created a lookup that retrieves all the column names from the table in Oracle. The table and schema are pipeline parameters in my case, but can be hardcoded or retrieved in another way too.
The Query for the lookup is (I use XMLAGG instead of other options to mitigate the problem that the returned string was too long) :
@concat('SELECT RTRIM(XMLAGG(XMLELEMENT(E,CASE WHEN DATA_TYPE = ''NUMBER'' AND (CAST (DATA_SCALE AS NUMBER(5,0)) >= CAST (DATA_PRECISION AS NUMBER(5,0)) OR DATA_SCALE IS NULL OR DATA_PRECISION IS NULL) THEN ''CAST('' || COLUMN_NAME || '' AS NUMBER(38,18)) AS '' || COLUMN_NAME ELSE COLUMN_NAME END,'', '').EXTRACT(''//text()'') ORDER BY COLUMN_NAME).GetClobVal(),'', '') AS query_string FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = ''', pipeline().parameters.table_name, ''' AND OWNER = ''', pipeline().parameters.schema, '''')
Then I use these retrieved columns in my copy data:
And the query for the source is:
@concat('SELECT ',activity('lookup_columns_from_table').output.firstRow.QUERY_STRING, ' FROM ', pipeline().parameters.schema, '.', pipeline().parameters.table_name)
Unfortunately I join to club too, Any news how this bug will be handled or any workaround?
Thanks in advance for all answers.
Hi @rje_gaiaherbs ,
Thanks for using Fabric Community. Apologize for the issue you are facing.
This is identified as a bug and Product team is working on the fix.
I will let you know once there is an update.
Appreciate your patience.
I have also faced same issue. May I know when this will be resolved. Do we have any alternate solution?
Thank you for the quick response!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
Check out the November 2024 Fabric update to learn about new features.
User | Count |
---|---|
21 | |
16 | |
8 | |
7 | |
6 |