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.
- 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.
- 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.
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.