I have OLE DB Destination component that as input receives column of type DT_STR.
When I point this component to table on my TEST server (where I want to dump data), I can see in External Columns (Advanced Editor > OLE DB Destination Input > External Columns) that type of my external (destination) column is DT_STR which is fine. Everything
works great.
But, when I point my OLE DB Destination to identical (absolutely identical in any way) table on PRODUCTION server, suddenly in my External Columns I see that my destination column is type DT_WSTR and I get error message that my column can't convert between
unicode and non-unicode data types.
Questions:
1) If I point OLE DB Destination back to TEST server, error disappears and I can see that my destination column is now type DT_STR. What determines this? How component decides one time to translate my varchar2 field type (Oracle) to DT_STR type, and other time to DT_WSTR type?
2) In External Columns, I tried changing type from DT_WSTR to DT_STR (it can be changed), but when I close window, my column is reverted to DT_WSTR type again? Why?
3) I discovered that if I set ValidateExternalMetadata on OLE DB Destination to false, it will allow me to change type in External Columns, but, if I after that, right click on OLE DB Destination, choose Edit, then OK, my column is reverted back to DT_WSTR type. Why?????
On the end, I managed to run SSIS package and do the job, but I have to make sure I don't edit this component any more. If I do, I will have to set all columns to proper data type again.
Please shed some light to this?
Thanks
bobetko