Error al importar a SQL Server desde Excel

| |
Error al importar a SQL Server desde Excel


Error:

"The value could not be converted because of a potential loss of data"

"An error occurred on the specified object of the specified component"

"The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure"

Los números de error son : 0xc02020c5 0xc0209029 y 0xc0047022

¿Cuando se produce?

Se suele dar cuando se importan datos desde Excel a SQL Server.

¿Porque aparece?

Puede presentarse por no manejar bien los valores Null en la base de datos que recibe la importación de datos o en la creación del paquete SSIS. Principalmente que la planilla de excel tenga campos nulos y la base de datos no los acepta.
También puede darse que los tipos de datos en el origen y el destino no coincidan, ejemplo una celda en Excel con texto y queremos insertarla en un campo de destino tipo byte o int. No es igual si quisiéramos importar una celda int en un campo varchar.

¿Cual es la solución?

Hay que asegurarse que la planilla de Excel tiene los datos que se esperan, esto es fundamental y vamos a tener que trabajar menos luego en SQL, personalmente acomodo absolutamente todo en Excel, a veces esto es engorroso, pero siempre hay formas de hacerlo en forma simplificada, cuando hablamos de varios miles de filas, a veces llegué a usar Visual Basic Script en Excel para modificar las columnas.
Otra opción es generar un pequeño algoritmo en C#, VB.Net, VB6 o el lenguaje que sea, que lea la planilla de Excel e inserte los datos en SQL, directamente para aquellas columnas que no tienen problemas y realizando algún tipo de conversión en las que son mas problemáticas.
Esto último puede parecer medio rudimentario pero cuando no se sabe que columna tiene el error, se realiza una conversión en cada uno de los datos, obligadamente y sea necesario o no, EN TODOS, a veces cuando hay que importar unos 50.000 empleados en pocas horas, este puede parecer el camino mas largo y rudimentario pero visto en perspectiva no lo es tanto.


Espero les sirva y si no les sirve de solución, comenten que pueden surgir nuevas.

0 comentarios:

Publicar un comentario

Con la tecnología de Blogger.