Error (error de limpieza de DQS en la fase de ejecución previa) al ejecutar la transformación Limpieza de DQS en SQL Server 2012

Este artículo le ayuda a solucionar el problema en el que se registra un error en el registro de SSIS en SQL Server 2012.

Se aplica a: SQL Server 2012 Developer, SQL Server 2012 Enterprise, SQL Server 2012 Standard
Número de KB original: 2715968

Síntomas

Imagine la siguiente situación:

  • Use la transformación Limpieza de Data Quality Services (DQS) en una Data Flow de SERVICIO de SQL Server-Integrated (SSIS) para limpiar los datos en Microsoft SQL Server 2012.
  • Establezca la opción "Configurar salida de error" de la transformación Limpieza de DQS en "Fila de redirección". Sin embargo, no especifica una ubicación para guardar la salida del error.
  • Ejecute el paquete SSIS.

En este escenario, se registra el siguiente mensaje de error en el registro de SSIS:

DQS Cleansing produjo un error en la fase de ejecución previa y devolvió el código de error 0x80070057.
System.ArgumentException: el valor no está dentro del intervalo esperado.
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)

Causa

Este problema se produce porque no se establece un destino para la salida de error generada para las filas que no cumplen los criterios y reglas del dominio DQS.

Solución alternativa

Para resolver este problema, utilice uno de los métodos siguientes.

  • Método 1

    Si no desea redirigir filas de error, siga estos pasos para resolver el problema:

    1. Abra el componente DQS en la Editor transformación Limpieza de DQS.
    2. Seleccione Componente de error en la lista desplegable Configurar salida de error en la parte inferior de la Editor transformación Limpieza de DQS.
  • Método 2

    Si tiene que redirigir las filas de error, debe asegurarse de que tiene una ubicación de destino a la que redirigir los errores.