Symptoms
Consider the following scenario:
- You use the Data Quality Services (DQS) Cleansing transformation in a SQL Server Integrated Service (SSIS) Data Flow to cleanse your data in Microsoft SQL Server 2012.
- You set the "Configure error output" setting of the DQS Cleansing transformation to "Redirect row." However, you do not specify a location to save the error output.
- You execute the SSIS package.
DQS Cleansing failed the pre-execute phase and returned error code 0x80070057.
System.ArgumentException: Value does not fall within the expected range.
at Microsoft.SqlServer.Dts.pipeline.Wrapper.IDTSBufferManager100.FindColumnByLineageID(Int32 hBufferType, Int32 nLineageID)
at Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.PreExecute()
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)
System.ArgumentException: Value does not fall within the expected range.
at Microsoft.SqlServer.Dts.pipeline.Wrapper.IDTSBufferManager100.FindColumnByLineageID(Int32 hBufferType, Int32 nLineageID)
at Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.PreExecute()
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)
Cause
This problem occurs because a destination is not set for the error output that is generated for rows that do not meet the DQS domain criteria and rules.
Workaround
To resolve this issue, use one of the following methods.
Method 1
If you do not want to redirect error rows, follow these steps to resolve the issue:- Open the DQS Component in the DQS Cleansing Transformation Editor.
- Select Fail Component in the Configure error output drop-down list at the bottom of the DQS Cleansing Transformation Editor.