We have an SSIS package downloading data from an Oracle database to an SQL Server datawarehouse. For this datawarehouse, several environments are set up; Development, Test and Production. Dev and test share a machine, Prod is stand-alone.

When the SSIS package is run on the PROD machine, it downloads the Varchar2 columns from our Oracle source database to MSSQL in DT\_WSTR format and saves this to a NVarchar column. I.E. all steps involved support Unicode.

When this same package is run against the same source database on the DEV/Test box, it somehow sees the external columns as being Varchar, derives this to DT\_STR in the data flow and refuses to store this in an NVarchar column.

All OS's are Win2K8r2, MSSQL 2008 64 bits. The package is run in 32bits mode, same behaviour is seen when run from BIDS or from SQL Agent.

Anyone care to guess why? I've already seen the suggestion to disable validating external metadata (<https://stackoverflow.com/a/18383598/2903056>), but that's not a practical suggestion for our situation.