I have a recurring problem that is a frustrating waste of time. It happens at Merges within data flows where it is impossible to get a merge to update its meta data to reflect changes in other parts of the flow.
A simple example;
I create a Source in a data flow that gives me a column of VARCHAR(10). Further down the data flow I have a Conditional Split, a following Merge, and then at the end a Destination.
At the point of Destination I discover that I actually need the column to be aNVARCHAR(20). So I return to my source SQL SELECT and CAST the column. This means I also have to modify the data type on the Output column to match this change. Now if I view the metadata on the Path out of the Source it correctly shows my column to be DT_WSTR with length20.
However, at the destination at the end of my flow it is still DT_STR and length 10. Tracing back through the flow I find the problem is the Merge, where the column enters as the newDT_WSTR 20 (in both inputs), but exits as the original DT_STR 10.
There appears to be nothing that will convince the Merge to update itself to the new values. I've tried removing the column from the merge, ignoring it, re-adding it. In all cases the column output from the Merge stubbornly remainsDT_STR 10. The only solution is to delete the entire merge and recreate it, which can bring about a significant amount of reworking in the more complex flows.
Am I missing the easy way to do this? Thanks.