Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
REMINDER: Qlik Cloud: Removing the deprecated Developer role and Enable API keys toggle: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
iti-attunity-sup
Partner - Creator III
Partner - Creator III

The CHR(0) character is being converted to spaces during replication.

Hello Team,

We are currently running a pipeline project in Qlik Talend Cloud to replicate data from Oracle to Snowflake.

During this process, we noticed that CHR(0) (null characters) from the Oracle source are being converted into spaces (whitespaces).

We have already investigated the pipeline steps and confirmed that this conversion (where CHR(0) becomes spaces) is already occurring at the stage where the data is loaded from Oracle to the external storage (Amazon S3).

Could you please let us know if there is any workaround, configuration, or parameter setting to prevent this conversion and preserve the null character?

Best Regards.

Labels (1)
3 Replies
Sainadh_Moole
Support
Support

Hi @iti-attunity-sup,

Thank you for reaching to Qlik community.

In Qlik Talend Cloud, Oracle CHR(0) (null character) cannot be preserved. It is automatically converted to spaces when data is staged in S3 and then loaded into Snowflake. This is expected behaviour because Snowflake does not support embedded null characters in strings.
 

The only workaround is to replace CHR(0) with a custom placeholder (like ~ or [NULLCHAR]) using character substitution rules or ETL transformations before loading. That way, you avoid confusion with normal spaces and still keep track of where nulls existed.

iti-attunity-sup
Partner - Creator III
Partner - Creator III
Author

Hello Sainadh_Moole,

Thank you for your response.

Specifically, what exactly is the limitation in Snowflake regarding embedded null characters (CHR(0)) in string types?

My understanding is that Snowflake itself can store CHR(0) in string columns .

If the database engine itself can hold the data, is the limitation you referred to specific to the data loading/ingestion mechanism, or is it a fundamental limitation of Snowflake?

We would appreciate any detailed documentation or technical explanation you could share so we can find the best way forward.

Best regards.

john_wang
Support
Support

Hello @iti-attunity-sup ,

To clarify, CHR(0) can be preserved during replication from Oracle to Snowflake.

  • Qlik Replicate

    No special configuration is required. CHR(0) is preserved automatically during both Full Load and Change Data Capture (CDC).

  • QCDI (QTC)

    You need to configure an internal parameter truncateTrailingBinaryZerosInChars in the Oracle source connector and set it to false. For example:

    john_wang_0-1785491356175.png

    Prepare the task and run it again.

Hope this helps.

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!