Experts need your guidance here. We are migrating from Oracle to Snowflake using QLIK. Part of the replication process we noticed that columns with datatype Number(20,2) in Oracle is transformed into Number(22) in Snowflake using QLIK. Data after the decimal is truncated in snowflake after a full/CDC load. Can you please help us fix this issue? Is there is a setting we need to configure to handle this transformation?
Below is the solution we provided in the case :
Please refer to the Replicate user guide:
NUMBER according to the "Expose number as" property in the Qlik Replicate Oracle source database settings. "
NUMBER in oracle to Replicate handled as described in the document. There is no internal NUMBER datatype in replicate so we can't handle dynamic changes in the datatype as like Oracle. To Overcome this issue, we introduced "Expose number as" property in Oracle endpoint.
Ex: If NUMBER is defined with specific Precision and Scale on the source then replicate will create same NUMBER(P, S) on target.
If no Precision and Scale is defined on the source then as we explained replicate can't decide what would be the length. You have to review all your NUMBER columns and decide the best value for the "Expose number as" property.
If a different NUMBER column has to be defined with different Precision and Scale then it has to be set at table level transformation.
Please create a feature request with your use case. The product manager will review and prioritize the request.
This is not the expected behavior. I just tested and it is transferring the same datatype as it is in Oracle.
Example: Oracle source datatype Number(38,0)
Snowflake also same Number(38,0)
Hello Swathi, We I guess the team has already submitted a case. Here is another example, where the conversion didn't happen the right way (Refer Attached Screenshot; it is comparison between SNowflake and Oracle after a full load.Left column is Snowflake and Right column is Oracle)