I'm working a job for data quality analysis where I need to copy 10% of the records from a DB2 data source to and "identical" structure in SQL*Server. This is thousands of fields across hundreds of tables.

So I've created very simple transforms that move DB2's Field_1 into SQL*Server's Field_1, DB2's Field_2 into SQL*Server's Field_2, etc.

Here's the thing. About one out of every 100 fields don't copy, because Data Migrator sees the name Field_1 and interprets it to mean SQL*Server's Field_1 instead of DB2's Field_1. It self-references the target field instead of taking the field of the same name from the source, and the result is that the field doesn't fill.

I fix this by aliasing the field coming from the source so that the names are no longer the same, but when you're doing hundreds of tables and thousands of fields this makes the process of creating the load far more tedious and time-consuming, and not doing it means you have to test and review every table and field.

Is there a button I can check somewhere that says "hide the target fields" when doing the data assignment?

This message has been edited. Last edited by: Tamra, July 21, 2016 08:06 AM

I'm dealing with it in 81M at the moment, but this has occurred from 7.7 forward if my recollection is correct. I address it when it occurs by adding an alias to the inbound data fields, generally appending "incoming_" to the field name.

Sorry, but I can't provide source code where you can duplicate the problem because I can't provide you the data. It's not a consistent problem by any means.