Project Description
The Replacing Data Conversion component can be used in place of the standard Data Conversion. But it completely replaces the original column instead of adding a differently named column. Blanket conversions can also be performed with one click (i.e. all DT_STR to DT_WSTR).



This component replaces the column in the Data Flow instead of adding a new column with a different name. In order to do so, it is coded as an asynchronous component - it copies the data from the input buffer to a new output buffer. As such, it will probably be less efficient than the Data Conversion component in SSIS. This behaviour/architecture was intentional (for my purposes), but the code could be modified to add columns instead of replacing them, making the component synchronous.

Advantages

  • The "simple" mode makes setting up conversions of lots of columns from one data type to another extremely quick and easy. For example, converting all DT_WSTR columns to DT_STR takes one or two clicks, instead of... a lot.
  • Allows the column name to be preserved after the data type conversion.

Disadvantages

  • This is an asynchronous component. It performs a memory copy to create a new output row for each row that arrives on its' input. It is not a blocking component - it is able to process input rows immediately, behaving more like a Union All component than a Sort component.
  • This is coded in .Net instead of C/C++. The Data Conversion component included in SSIS uses native code, and as such, will run faster.

Screenshots


The "simple" tab that allows multiple data conversions to be defined at once.


The "complex" tab that allows specific column-by-column conversion specifications and error handling.

Last edited Jul 6, 2010 at 8:28 PM by toddmcdermid, version 2