title: cannot convert between unicode and non-unicode string data types
body: <p>I have a number of packages in SSIS that moves data from an oracle data source to Sql Server.</p>
  
  <p>A new package was failing and I could not figure out what was going on. It was giving the message <strong>"cannot convert between unicode and non-unicode string data types"</strong></p>
  
  <p>It was weird that the package worked on my local machine but when deployed to server it always failed.</p>
  
  <p>I already do a data conversion of my string values from dt_Wstr to dt_str.</p>
  
  <p>All of my string columns on SQL Server are varchar</p>
  
  <p>At wits end I decided to try to change the nps_lang registry value for oracle on the server box.</p>
  
  <p>These are the settings that I changed.</p>
  
  <pre><code>(old)AMERICAN_AMERICA.WE8MSWIN1252
  (new)AMERICAN_AMERICA.WE8ISO8859P1
  </code></pre>
  
  <p>It worked! At least so I thought.</p>
  
  <p>The next day all the other packages that had been running fine are now failing.</p>
  
  <p>Now my questions are what are the difference between these two that would cause one to fail and the others not?</p>
  
  <p>Is there a character set that I could use that would work with both?</p>
  
  <p>Any other suggestions to get all of my packages to run successfully on the server?</p>