Importar Archivo CSV con SSIS

¿Tienes que Importar archivo CSV en una base de datos de SQL Server con SSIS? Te tenemos cubierto con esta guía paso a paso, perfecta para simplificar tu trabajo con datos. Usando SSIS, puedes importar fácilmente datos desde un archivo CSV a una tabla de SQL Server usando un solo paquete.

Los archivos CSV son excelentes para todo tipo de datos, como listas de clientes o cifras de ventas. Con nuestra guía, utilizarás Microsoft SSIS y Visual Studio 2019 para facilitar este proceso.

Te guiaremos a través de 10 pasos esenciales para importar tus datos de manera suave y efectiva. Cada paso es fácil de seguir, asegurándote de que puedas completar el trabajo, sin importar tu nivel de habilidad.

Aquí están los 10 pasos simples para importar datos CSV a SQL Server usando SSIS:

  1. Prepara tu archivo CSV: Prepáralo para SSIS.
  2. Configura tu tabla de SQL Server: Prepara tu base de datos con SSMS.
  3. Crea tu paquete SSIS: Te mostraremos cómo, paso a paso.
  4. Conéctate a tu CSV: Vincúlate a tu fuente de datos.
  5. Ajusta tus columnas: Afina los detalles.
  6. Arregla los tipos de columnas y longitudes: Asegúrate de que todo coincida.
  7. Convierte los datos según sea necesario: Utiliza herramientas de SSIS para ajustar los datos.
  8. Apunta a tu SQL Server: Configura a dónde irán tus datos.
  9. Ejecuta el paquete SSIS: Importa tu CSV con confianza.
  10. Verifica tus datos importados: Asegúrate de que esté todo correcto.


Hemos dividido el proceso en dos partes: primero, preparar y conectar tu archivo CSV, y segundo, configurar tu tabla de SQL Server e importar los datos. Esta guía trata de hacer tu importación de datos lo más sencilla posible. ¡Comencemos y hagamos que tus datos trabajen para ti!

Vamos a verificar primero algunos requisitos

Antes que nada, para importar archivos de datos CSV a una tabla de SQL Server usando un paquete de Integration Services, verifiquemos algunos requisitos obligatorios:

1. Prepare el archivo fuente CSV para importar con SSIS (Premium)

De hecho, para comenzar el tutorial e importar datos CSV a una base de datos de SQL Server usando SSIS, debes seguir este primer paso. Simplemente comienza descargando el archivo utilizado en el ejemplo y luego crea la tabla objetivo para almacenar los clientes. El archivo Customers_Data.csv contiene 49 filas, que consisten en una fila de encabezado y 48 filas de datos generados automáticamente.

Para descargar los recursos: Archivo plano y consulta, inscríbete en nuestro entrenamiento completo de videos de SSIS.

2. Prepare la tabla de destino de SQL Server utilizando SSMS (Premium)

El propósito de este paquete SSIS es importar las 48 filas del archivo plano CSV a la tabla de Clientes de SQL Server sin errores. El código de creación de la tabla está disponible en nuestro entrenamiento de SSIS en Udemy. Ejecuta el código en una base de datos de desarrollo o en un entorno de pruebas usando SSMS en Windows.

Para descargar los recursos: Archivo plano y consulta, inscríbete en nuestro entrenamiento completo de videos de SSIS.

3. Crear el paquete SSIS para impotar los datos CSV

El tercer paso para importar un archivo CSV con SSIS es el paquete en sí. Este paso trata sobre cómo gestionar la conexión al archivo plano utilizado como fuente. Este paso se realiza utilizando un flujo de datos SSIS simple.

  • Abre Microsoft Visual Studio 2019 y crea un nuevo proyecto SSIS o abre un proyecto existente.
  • Abre un paquete existente para modificar su contenido. Alternativamente, haz clic derecho y agrega un nuevo paquete al proyecto SSIS.

Agregando un flujo de datos SSIS tradicional

Desde el espacio de trabajo de Visual Studio, ubica la caja de herramientas de SSIS a la izquierda. Selecciona Tarea de flujo de datos y arrástrala al espacio de trabajo y haz doble clic para abrirla.

Nuevo flujo de datos SSIS para cargar un archivo de datos CSV en una tabla SQL Server
Nuevo flujo de datos SSIS para cargar un archivo de datos CSV en una tabla SQL Server

En la Caja de herramientas SSIS, ahora selecciona el componente Fuente de archivo plano y arrástralo al espacio de trabajo. Luego haz doble clic en él para abrirlo y configurarlo.

Añadir la fuente de archivos planos al flujo de datos SSIS (Flat File Source)
Añadir la fuente de archivos planos al flujo de datos SSIS (Flat File Source)

4. Crear una conexión con el archivo CSV para importar con SSIS

Crea y configura una nueva conexión de archivo plano seleccionando los siguientes elementos:

  1. Primero, ingresa el nombre de la conexión.
  2. Luego la ruta del archivo.
  3. Selecciona la codificación del archivo (página de código).
  4. El formato, en nuestro caso es delimitado.
  5. Verifica el delimitador al final del encabezado (delimitador de fila de encabezado).
  6. Si los nombres de las columnas están en la primera línea del archivo
Configure una nueva conexión con el archivo CSV en el paquete SSIS
Configure una nueva conexión con el archivo CSV en el paquete SSIS

5. Configurar columnas y comprobar la codificación antes de importar datos CSV

El objetivo aquí es muy importante, configurar las columnas y verificar los datos:

  1. Valida o modifica el delimitador de filas
  2. Elige el delimitador de columnas, que es el carácter al final de cada línea de datos
  3. Verifica si los datos y, en particular, los acentos o caracteres especiales se muestran correctamente. Por ejemplo, las líneas 29 y 32 tienen un error porque los acentos están mal interpretados. La codificación debe cambiarse.
Elija el delimitador de filas y columnas y compruebe los datos
Elija el delimitador de filas y columnas y compruebe los datos

Usa la codificación correcta para el archivo de texto usando Notepad++

Cambia la codificación del archivo fuente hasta que los datos se muestren correctamente. Para encontrar la codificación del archivo, simplemente usa Notepad++ y abre el archivo. Hay 2 posibilidades para verificar la codificación:

  • En el menú Codificación
  • En la parte inferior derecha del programa, donde se muestra información sobre el archivo.
Compruebe fácilmente la codificación de un archivo de texto con Notepad++
Compruebe fácilmente la codificación de un archivo de texto con Notepad++

Configurando el Administrador de Conexiones de Archivo Plano

Para cargar el archivo de texto sin errores, cambia la codificación y usa 65001 (UTF-8) en lugar de 1252 (ANSI – Latin I) propuesto por defecto por SSIS.

Cambie la codificación a 65001 (UTF-8) en la configuración del archivo
Cambie la codificación a 65001 (UTF-8) en la configuración del archivo

6. Ajusta el tipo de archivo CSV y la longitud de las columnas en SSIS

Después de seleccionar la codificación correcta, haz clic nuevamente en la pestaña de Columnas y verifica los datos nuevamente.

La vista previa de datos SSIS ahora muestra los datos y los acentos correctamente
La vista previa de datos SSIS ahora muestra los datos y los acentos correctamente

Ahora haz clic en la pestaña Avanzado. A continuación, renombra las columnas si es necesario y asígnales un tipo de datos coherente. Por defecto, SSIS utiliza el tipo DT_STR con una longitud de 50 caracteres. Usa el tipo DT_WSTR con la longitud correcta para evitar errores de conversión de SQL Server más adelante en el desarrollo del paquete SSIS. Así que adapta el tipo de cada columna a la longitud de los campos en nuestra tabla de clientes:

Para descargar los recursos: Archivo plano y consulta, inscríbete en nuestro entrenamiento completo de videos de SSIS

Ten en cuenta que los nombres y los tipos de datos de las columnas en la conexión de archivo plano deben coincidir con los nombres y tipos de datos de las columnas de la tabla objetivo en la base de datos, lo que facilitará mucho el mapeo de datos en SSIS. Ahora verifica las columnas en el componente Fuente de Archivo Plano:

Comprobación de asignaciones en el componente de origen de archivos planos de SSIS
Comprobación de asignaciones en el componente de origen de archivos planos de SSIS

7. Agrega el componente de Columna Derivada y enlázalo a la fuente

La segunda parte de la importación del archivo de texto a una base de datos de SQL Server es el mapeo y la conexión en SSIS. De hecho, configura ahora el componente de base de datos objetivo y carga los datos con el formato correcto. Un formato compatible con los datos del archivo plano.

  • En la caja de herramientas SSIS, desde la parte Común. Arrastre la transformación Columna Derivada al flujo de datos.
  • Luego vincule el componente Flat File Source a Derived Column como se muestra en la imagen de abajo.
Añada el componente Columna derivada y vincúlelo al Fichero fuente
Añada el componente Columna derivada y vincúlelo al Fichero fuente

Configurar la columna derivada SSIS para cambiar el ID de cliente a entero

La columna CustomerID es de tipo integer, por lo que hay que crear una nueva basada en la del fichero. Para convertirla en una nueva columna SSIS de tipo Integer (DT_I8).

Crear una columna derivada para convertir el ID de cliente de texto a entero
Crear una columna derivada para convertir el ID de cliente de texto a entero

8. Configura el componente de destino OLE DB de SSIS

Para hacer esto, primero debes crear una conexión a la base de datos objetivo desde el administrador de conexiones de SSIS.

Configura el mapeo de datos en la pestaña de Mapeos para verificar que las columnas del archivo plano y de la tabla de SQL Server coincidan. Usa la columna Columna Derivada.CustomerID y no la columna original del archivo plano.

Utilice la nueva columna para la columna derivada ID de cliente
Utilice la nueva columna para la columna derivada ID de cliente

Opción de asignación automática de columnas con SSIS

Nota: Es posible mapear automáticamente las columnas SSIS en el siguiente paso. Asegúrese de asignar el mismo nombre a todas las columnas de origen y destino.

9. Ejecuta el paquete SSIS para importar datos CSV

Después de configurar el flujo de datos, ejecuta el paquete SSIS e importa el archivo CSV a la tabla de Clientes de SQL Server. El paquete procesa las 48 filas iniciales e las integra en la base de datos.

Pulse F5 o haga clic en Ejecutar para ejecutar el paquete SSIS e importar el archivo
Pulse F5 o haga clic en Ejecutar para ejecutar el paquete SSIS

10. Compruebe el archivo CSV importado en la tabla de destino

Por supuesto, el último paso es una verificación, así que usando SSMS verifica los datos ejecutando estas dos consultas SQL a continuación. La tabla tiene 48 filas, idénticas al contenido del archivo.

Y si tienes los mismos resultados, entonces tu paquete SSIS para importar el archivo CSV a una tabla de SQL Server es un éxito.

SELECT COUNT(*) AS [NumberOfCustomers]
FROM   [dbo].[Customers];

SELECT *  
FROM   [dbo].[Customers];
Consultas SSMS para mostrar el resultado de la importación CSV en la tabla SQL Server con SSIS
Consultas SSMS para mostrar el resultado de la importación CSV en la tabla SQL

Finalmente, ejecuta una consulta SELECT para verificar los datos cargados en la base de datos. Este ejemplo le permite importar fácilmente un tipo de archivo CSV en una base de datos SQL Server con SSIS.

También es posible cargar varios archivos planos en una base de datos con un bucle SSIS (componente For Each File).

Evitar errores de importación de archivo con SSIS

Un error común es el código SSIS 0x80019002 que indica que el sistema ha alcanzado el número máximo de errores permitidos. En efecto, es posible fijar el número de errores tolerados mediante el parámetro MaximumErrorCount. Sin embargo, lo recomendamos sólo en caso de gestión automática de errores y recargas. Tres elementos clave a comprobar para integrar correctamente los archivos y evitar los errores clásicos de integración de archivos SSIS :

  1. Separador de columnas
  2. Separador de línea
  3. Codificación del archivo CSV

Así pues, la integración de archivos CSV y planos en general con SSIS y Visual Studio es potente. Sin embargo, los errores son comunes, a menos que prepare y compruebe de antemano los tipos de datos tanto en el archivo de origen como en la tabla de destino.

Para ir un paso más allá, es posible cargar un archivo Excel en una tabla con SSIS de la misma manera.

Acerca de importar archivo de texto con SSIS

Para concluir, este tutorial paso a paso de SSIS explica cómo importar un archivo de texto CSV a una tabla de SQL Server con SSIS usando un paquete desarrollado con Visual Studio y sin utilizar ningún script. La estructura de datos, los nombres de las columnas y la configuración adecuada de todos los componentes de SSIS son clave.

Be the first to comment

Leave a Reply

Tu dirección de correo no será publicada.


*