Mejorar una salida de errores con el componente de script
De forma predeterminada, las dos columnas adicionales en una salida de errores de Integration Services, ErrorCode y ErrorColumn, únicamente contienen códigos numéricos que representan un número de error y el identificador de la columna en la que se produjo el error. Estos valores numéricos pueden tener un uso limitado sin la correspondiente descripción del error.
En este tema se describe cómo agregar una columna de descripción del error a los datos de salida de error existentes en el flujo de datos mediante el componente de script. En el ejemplo se agrega la descripción del error que corresponde a un determinado código de error de Integration Services predefinido mediante el método GetErrorDescription de la interfaz IDTSComponentMetaData100, disponible a través de la propiedad ComponentMetaData del componente de script.
[!NOTA]
Si desea crear un componente que pueda reutilizar más fácilmente en varias tareas de flujo de datos y varios paquetes, puede utilizar el código de este ejemplo de componente de script como punto de inicio para el componente de flujo de datos personalizado. Para obtener más información, vea Desarrollar un componente de flujo de datos personalizado.
Ejemplo
El ejemplo que aparece aquí utiliza un componente de script configurado como una transformación para agregar una columna de descripción del error a los datos de salida de error existentes en el flujo de datos.
Para obtener más información acerca de cómo configurar el componente de script para su uso como una transformación en el flujo de datos, vea Crear una transformación sincrónica con el componente de script y Crear una transformación asincrónica con el componente de script.
Para configurar este ejemplo de componente de script
Antes de crear el nuevo componente de script, configure un componente de nivel superior en el flujo de datos para redirigir las filas a su salida de error cuando se produce un error o truncación. Con fines de comprobación, puede que desee configurar un componente de manera que garantice que se van a producir errores; por ejemplo mediante la configuración de una transformación de búsqueda entre dos tablas donde se producirá un error en la búsqueda.
Agregue un nuevo componente de script a la superficie de diseñador de flujo de datos y configúrelo como transformación.
Conecte la salida de error del componente de nivel superior al nuevo componente de script.
Abra el Editor de transformación Script y en la página Script, para la propiedad ScriptLanguage, seleccione el lenguaje de script.
Haga clic en Editar script para abrir el IDE de MicrosoftVisual Studio Tools para Aplicaciones (VSTA) y agregar el código de ejemplo que se muestra a continuación.
Cierre VSTA.
En el Editor de transformación Script, en la página Columnas de entrada, seleccione la columna ErrorCode.
En la página Entradas y salidas, agregue una nueva columna de salida de tipo String denominada ErrorDescription. Aumente la longitud predeterminada de la nueva columna a 255 para admitir mensajes largos.
Cierre el Editor de transformación Script.
Asocie la salida del componente de script a un destino conveniente. Para realizar pruebas ad hoc, la manera más fácil de configurar es mediante un destino de archivo plano.
Ejecute el paquete.
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Row.ErrorDescription = _
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
End Class
public class ScriptMain:
UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
}
|