Ejemplo de Conversión de tipos de Datos (con error) con SSIS 2008

Vamos a complicar un poco el ejemplo

En este caso se trata de reducir el tamaño de una columna, porque en el destino su tamaño es menor que el que nos llega en origen.

En primer lugar, debemos intentar tener en el destino los tamaños que concuerden, o que sean mayores que en origen, porque no sería causa de error. Pongamos un ejemplo, si hay una columna Ciudad en el CRM Origen que ocupa 200 caracteres y ningún dato hasta el momento ocupa más de 120, no no no demos a nuestra columna en el Destino 120, porque si el CRM está preparado para 200, habrá seguro algún momento en que exista una ciudad que ocupe más de 120 y hasta los 200 caracteres.

Suponiendo que no queda más remedio, que el dato que importamos ocupa más, nos hemos puesto de acuerdo con el suministrador y nos ha dicho, “OK, aunque el CRM acepte 50, escribo en abreviaturas y te lo dejo en 15, tranquilo, déjalo de mi cuenta”.

Entonces, configuramos nuestro paquete tranquilamente empleando una Transformación de Conversión de datos, en este caso de Longitud del dato.

ConversionNombreCorto

Lo ejecutamos y … oh!! Ha fallado 😦  No puede ser !!!

ConversionNombreCortoError

Vamos a ver la ficha Resultados, aquí tenemos una Advertencia y un Error, el paquete no se ha ejecutado.

ErrorTruncaProgreso

Vamos por parte … como nos enseñó Jack 🙂

Advertencia

[SSIS.Pipeline] Advertencia: La columna de salida “NombreCorto” (138) de la salida “Salida de conversión de datos” (93) y el componente “Conversión de datos” (91) no se utilizará posteriormente en la tarea Flujo de datos. Si se quita esta columna de salida que no se utiliza, se aumentará el rendimiento de la tarea Flujo de datos.

Es importante que tengamos en cuenta que las columnas deben permanecer en el flujo únicamente mientras sean necesarias, hay operaciones que duplican el flujo, hay operaciones que bloquean y mientras mayor sea la muestra, a lo largo y ancho, pues peor.

En este caso, resulta que sí necesitamos la columna, lo que sucede es que no está correctamente enlazada en la ficha Asignaciones del Destino OLE DB, vamos a arreglarlo:

EnlaceNombre

Ejecutamos y ya está, fuera advertencias. Bien 🙂

NoAdvertencia

Aquí lo dejamos, ah! … sobre el error y su solución estaremos hablando en la siguiente entrega.