When using SSIS with Oracle database, it seems to always assume that a VARCHAR2 maps to a DT_STR. However, if my Oracle encoding is set to AL32UTF8, I should be able to store any unicode character in a VARCHAR2, right? Is there any way to force SSIS to map an Oracle VARCHAR2 to a DT_WSTR? Should there be?

I looked up a few other questions on this, but nothing seems to address it.

I have a data source that has many columns as DT_WSTR, and I want each to go into a VARCHAR2 column without having to convert every column.


Looks like I need to be careful to specify my column length in CHAR. For example, Instead of VARCHAR2(255), I need to ensure it is VARCHAR2(255 CHAR). If I do this, SSIS sees it as DT_WSTR.

  • 3
    Be aware that if you have existing scripts with VARCHAR2(255), you can do an ALTER SESSION to set NLS_LENGTH_SEMANTICS to CHAR and then run them to get character rather than byte semantics. That's easier than manually editing bunches of scripts. – Justin Cave Sep 9 '15 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.