¿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:
- Prepara tu archivo CSV: Prepáralo para SSIS.
- Configura tu tabla de SQL Server: Prepara tu base de datos con SSMS.
- Crea tu paquete SSIS: Te mostraremos cómo, paso a paso.
- Conéctate a tu CSV: Vincúlate a tu fuente de datos.
- Ajusta tus columnas: Afina los detalles.
- Arregla los tipos de columnas y longitudes: Asegúrate de que todo coincida.
- Convierte los datos según sea necesario: Utiliza herramientas de SSIS para ajustar los datos.
- Apunta a tu SQL Server: Configura a dónde irán tus datos.
- Ejecuta el paquete SSIS: Importa tu CSV con confianza.
- 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:
- Capacidad para conectarse a una base de datos existente o crear una nueva base de datos de SQL Server con SSMS
- Instalar Visual Studio y la extensión de proyectos SSIS para el desarrollo del paquete.
Table of Contents
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.
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.
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.
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.
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:
- Primero, ingresa el nombre de la conexión.
- Luego la ruta del archivo.
- Selecciona la codificación del archivo (página de código).
- El formato, en nuestro caso es delimitado.
- Verifica el delimitador al final del encabezado (delimitador de fila de encabezado).
- Si los nombres de las columnas están en la primera línea del archivo
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:
- Valida o modifica el delimitador de filas
- Elige el delimitador de columnas, que es el carácter al final de cada línea de datos
- 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.
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.
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.
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.
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:
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:
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.
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).
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.
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.
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];
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 :
- Separador de columnas
- Separador de línea
- 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