Hello, so my issue was similar in that I was trying to bring over Oracle 11g data into MS SQL. I have been connecting to other Oracle instances in this environment, but this was the first time connecting to this new source and was getting the message: Cannot convert between unicode and non-unicode string data types.
When I used this provider: OraOLEDB.Oracle.1 (AKA Oracle Provider for OLE DB), the normal Oracle varchar2 columns were being shown as DT_WSTR.
When I switched to use the Microsoft OLE DB provider for Oracle (MSDAORA.1), the source column stays as DT_STR so no issue between Unicode and Non-Unicode. Hope this helps others.