bien, el día de hoy les hablaré de un componente de SSIS llamado Data Conversion. Como bien saben en algunos casos, nuestros hermosos clientes tienen en sus bases de datos tablas que tienen columnas, que tienen tipos de datos (quetienen, que tienen, que tienen...).
Lo normal es que esos tipos de datos tengan un manejo natural de algunas cosas que para uno de developer son muy obvias. Ejemplo, si tengo un UnicodeString de lenght 255 y tengo que meterlo a un string de 50, bueno, es solo usar el componente para convertir, cambiar el tamaño y todos somos felices.
Bueno, SSIS en su maratón por ponerme a pensar, me empezó a generar errores en este componente.
Después de mucho meditar, pensar y a punto de arrojar el pc por la ventana, me dí cuenta que el error estaba al realizar exactamente ese tipo de conversión. Ojo, no siempre sucede, pero en caso que apareciera el error descrito en la segunda imágen o incluso cuando sale el horroroso Exception from HRESULT: 0xC0047020 debería ser este caso.
Bien, solución? decidí quitar el Data Conversion y lo cambié por un Derived Column. Para la conversión de datos usé el Cast, dándole el tipo de dato requerido y el lenght correcto. El resultado fué un error por truncamiento. Que se hace en este caso? poner un Substring al campo
Con esto solucionamos el problema. Si se dan cuenta incluso el Warning desapareció.
Bueno. En algunos casos el mejor camino a encontrar el error que aparece (cuando no es específico) lo mejor es ver los warnings. Diría un amigo mío, "los warnings no son chisme" estos si bien no nos dicen que es el error en sí, nos pueden ayudar mucho a encontrarlo, sobretodo en SSIS ya que este no posee un proceso de debugging (al cual los developers estamos acostumbrados).
Como una recomendación, si estás empezando con SSIS, es muy importante, que llegues a un nivel de ver campo por campo de las fuentes y destino de tu integración, esto con el fin de que tenga una coherencia el proceso y no tengas dolores de cabeza. Siempre recuerda amigo developer, ya no estás en C#!!!! estás en Pandora... perdón en SSIS, y si quieres que tu integración funcione a la perfección, lo más importante es tener muy en cuenta tanto los tipos de dato y como el tamaño de los mismos.
Como siempre, cualquier inquietud, siéntanse libres de escribir sus comentarios.
Un abrazo
Piojo dev








