variable uso query dinamicas sql-server sql-server-2005 ssis expression

sql server - uso - Compruebe numérico en Tarea de flujo de datos DerivedColumn en SSIS



ssis variables in sql command (2)

¿Hay alguna manera en que pueda verificar si el campo es numérico en la columna derivada / división condicional de la tarea de flujo de datos en Sql Server Integration Services 2005?

La funcionalidad debería ser como la función ISNUMERIC ().

Actualmente estoy usando

((DT_NUMERIC,12,0)fieldname= (DT_NUMERIC,12,0)fieldname)

en la expresión de la columna derivada para verificar si el nombre del campo es Numérico. Pero si el nombre del campo contiene caracteres como 123ABC en lugar del número 123, la expresión anterior arroja una excepción debido a un error de conversión y se detiene la ejecución del paquete.

Si tuviéramos una función como ISNUMERIC (), entonces no necesitamos hacer todo este circo. ¿Alguien sabe si hay alguna función como esta para verificar si el campo es numérico o no en SSIS?


Puede redirigir filas en caso de error y manejar el error. O use una tarea de script.


Usamos la siguiente técnica:

  1. En el formulario de propiedad para el componente de columna derivado, puede hacer clic en el botón marcado ''Configurar salida de error'' para mostrar la configuración de salida de error.

  2. Configure las acciones de error y truncamiento para esta columna (o cualquier otra columna) para que sea "Ignorar error"

  3. Ahora, si la conversión de esta columna falla para una fila, el paquete continuará ejecutándose. El valor de la columna para esa fila se establecerá en nulo. Puede usar un componente posterior para verificar valores nulos y tomar las medidas adecuadas.