Skip to main content
Announcements
UPGRADE ADVISORY for Qlik Replicate 2024.5: Read More
cancel
Showing results for 
Search instead for 
Did you mean: 
GuptaN
Contributor
Contributor

why qlik is converting datatype varchar(max) to clob?

I an trying to migrate varchar(max) datatype  column but qlik is reading as clob datatype.

Please guide on this.

 

Regards,

GuptaN

Labels (1)
1 Solution

Accepted Solutions
Heinvandenheuvel
Specialist III
Specialist III

Just an opinion - not a formal answer:

Replicate does what it does. Like it or leave it. For some things a improvement can be requested but varchar(max) to clob is day-1 decision and unlikely to ever change.

Replicate is a universal engine trying to replicate from any source to any target, or as least as many types as are commercially viable. Several targets do, or did not, have the VARCHAR(MAX) datatype or implement that as clob anyway and those that do on the source source side need to be handle much like clobs anyway.

My _guess_ it that Replicate simply picked a workable intermediate datatype. Unfortunately that datatype restrict certain functionality most notably transformations. That's quite a big limitation but most customers can live with it.

fwiw, in many experience varchar(max) is frequently overly used by 'just in case' simplistic (sloppy!?) source DB  design. I've seen 'credit card numbers' and 'phone number' designed as varchar(max) - totally ignoring any source db performance and downstream consequences. Oh well

Hein.

View solution in original post

3 Replies
SwathiPulagam
Support
Support

Hi @GuptaN ,

 

Could you please let us know what is the Source and Target?

 

Thanks,

Swathi

GuptaN
Contributor
Contributor
Author

Hi @SwathiPulagam ,
Source :-sql and Target:-ADLS storage

Thanks,
GuptaN

Heinvandenheuvel
Specialist III
Specialist III

Just an opinion - not a formal answer:

Replicate does what it does. Like it or leave it. For some things a improvement can be requested but varchar(max) to clob is day-1 decision and unlikely to ever change.

Replicate is a universal engine trying to replicate from any source to any target, or as least as many types as are commercially viable. Several targets do, or did not, have the VARCHAR(MAX) datatype or implement that as clob anyway and those that do on the source source side need to be handle much like clobs anyway.

My _guess_ it that Replicate simply picked a workable intermediate datatype. Unfortunately that datatype restrict certain functionality most notably transformations. That's quite a big limitation but most customers can live with it.

fwiw, in many experience varchar(max) is frequently overly used by 'just in case' simplistic (sloppy!?) source DB  design. I've seen 'credit card numbers' and 'phone number' designed as varchar(max) - totally ignoring any source db performance and downstream consequences. Oh well

Hein.