title: Lookup transformation between DB2 packed decimal and SQL Server DT_NUMERIC in SSIS
body: <p>We use DB2 as our main production database, but we use SQL Server for many other things i.e. to do integration between other customers and vendors via EDI etc.<br>
  I have a table in SQL with SO numbers and I try to make a lookup in DB2 to get all the invoices for the SO's in my table, so here's what I did.  </p>
  
  <ol>
  <li>Created a connection to the DB2 using the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=29100" rel="nofollow">Microsoft® OLEDB Provider for DB2</a></li>
  <li>Created a <a href="http://technet.microsoft.com/en-us/library/ms141122.aspx" rel="nofollow">data fllow</a> with a source using a SQL Server connection.</li>
  <li>Added a <a href="http://technet.microsoft.com/en-us/library/ms141706.aspx" rel="nofollow">Data Conversion Transformation</a> trying to convert the INT so value to a decimal with a precision of 12, but I couldn't change a precision in a DT_DECIMAL, so the only datatype that I have the option to change the precision is DT_NUMERIC.</li>
  <li>Added a lookup transformation to lookup the data withing DB2.  </li>
  </ol>
  
  <p>Now when i try to create the join between the source table and DB2 I get an error <code>Cannot map the input column, 'so', to the lookup column, 'orno', because the data types do not match.</code><br>
  <a href="http://connect.microsoft.com/SQLServer/feedback/details/477262/ssis-flat-file-connection-manager-cannot-set-precision-for-decimal-columns" rel="nofollow">According to Microsoft</a> this is not a bug and they suggest to use the DT_NUMERIC where you can change the precision.<br>
  If I try to convert the SO to a DT_DECIMAL without changing the precision I'd get the same error mentioned above.</p>
  
  <p>Is there any way to work around the limitations from SSIS and change the precision in a DT_DECIMAL conversion so I could do the match?</p>
  
  <p>Or any other suggestions?</p>