I've been playing around with the Terms Extraction component in SSIS (Developer Edition).
I've constructed a very easy package that simply loads a flat file, converts a column to unicode, put it into the Terms Extraction transformation (error rows are being tossed away) and writes the results (terms and score) to another flat file.
Everything fine and dandy when I run it in BIDS:
However, when I run it with dtexec using the following command line:
dtexec /f "d:\advancedtest.dtsx"
I get the following errors and warnings (only relevant stuff is being shown):
Warning: 2013-01-17 13:17:49.38
Code: 0x800470AE
Source: (DFT) Throw data around SSIS.Pipeline
Description: Component "(FF_SRC) Read CSV" (1) has been removed from the Data Flow task because its output is not used and its inputs either have no side effects or are not connected to outputs of other components. If the component
is required, then the HasSideEffects property on at least one of its inputs should be set to true, or its output should be connected to something.
End Warning
Warning: 2013-01-17 13:17:49.38
Code: 0x800470AE
Source: (DFT) Throw data around SSIS.Pipeline
Description: Component "(MLT) Trash" (122) has been removed from the Data Flow task because its output is not used and its inputs either have no side effects or are not connected to outputs of other components. If the component is
required, then the HasSideEffects property on at least one of its inputs should be set to true, or its output should be connected to something.
End Warning
Warning: 2013-01-17 13:17:49.38
Code: 0x800470AE
Source: (DFT) Throw data around SSIS.Pipeline
Description: Component "(DER) Convert to unicode" (127) has been removed from the Data Flow task because its output is not used and its inputs either have no side effects or are not connected to outputs of other components. If the
component is required, then the HasSideEffects property on at least one of its inputs should be set to true, or its output should be connected to something.
End Warning
Error: 2013-01-17 13:17:49.38
Code: 0xC004701A
Source: (DFT) Throw data around SSIS.Pipeline
Description: component "(TEX) Extraction FirstName" (77) failed the pre-execute phase and returned error code 0x80070057.
End Error
So it seems the SSIS runtime throws away some of the components, but there's no reason to do this. There's no extra explanation why the Terms Extraction failed the pre-execute phase. A search on the error code gives no real results.
However, when digging into the HasSideEffects property, I noticed this has an effect on how SSIS behaves when being in "optimized mode". So I set RunInOptimizedMode to false, and behold, the package suddenly succeeds.
So my question is (thanks for reading so far): why on earth is it necessary to set the RunInOptimizedMode to false? (a property I have never used before).
MCSA SQL Server 2012 - Please mark posts as answered where appropriate.