Published on

December 31, 2018

Comprendiendo la inserción masiva en SQL Server

Cuando se trata de importar grandes cantidades de datos en SQL Server, es importante tener métodos eficientes y confiables. Uno de estos métodos es la función de inserción masiva en SQL Server. En este artículo, exploraremos los conceptos básicos de la inserción masiva y cómo se puede utilizar para simplificar las tareas de importación de datos.

Conceptos básicos de la inserción masiva

Comencemos por comprender los conceptos básicos de la inserción masiva. Esta función nos permite importar datos desde un archivo directamente a una tabla de SQL Server. Es particularmente útil cuando se trata de archivos grandes o cuando necesitamos importar datos en masa.

Cuando utilizamos la inserción masiva, tenemos la opción de importar archivos completos sin ningún delimitador. Esto significa que los datos del archivo se insertarán en una sola columna y fila de la tabla. Por ejemplo:

CREATE TABLE etlImport1 (
		etlData VARCHAR(MAX)
	)
	
	BULK INSERT etlImport1 
	FROM 'C:\ETL\Files\Read\Bulk\dw_query20180101.sql'
	
	SELECT * FROM etlImport1
	

En el ejemplo anterior, los datos del archivo ‘dw_query20180101.sql’ se insertan en la tabla ‘etlImport1’. Dado que no se especifican delimitadores, el archivo completo se inserta en una sola columna.

Por otro lado, si tenemos archivos delimitados en los que los caracteres especifican nuevas filas y columnas, podemos especificar los delimitadores utilizando las opciones FIELDTERMINATOR y ROWTERMINATOR. Por ejemplo:

CREATE TABLE etlImport3 (
		Column1 VARCHAR(1),
		Column2 VARCHAR(1),
		Column3 VARCHAR(1)
	)
	
	BULK INSERT etlImport3 
	FROM 'C:\ETL\Files\Read\Bulk\delimited_20180101.txt'
	WITH (
		FIELDTERMINATOR = ',',
		ROWTERMINATOR = '|'
	)
	
	SELECT * FROM etlImport3
	

En este ejemplo, el archivo ‘delimited_20180101.txt’ se inserta en la tabla ‘etlImport3’. Las columnas están delimitadas por comas y las filas están delimitadas por barras verticales.

Manejo de errores y solución de problemas

Cuando se trabaja con la inserción masiva, es importante manejar los errores y solucionar cualquier problema que pueda surgir. Si los datos en el archivo no coinciden con las especificaciones de la tabla, pueden ocurrir errores durante el proceso de importación.

Por ejemplo, si un archivo tiene menos columnas de las esperadas o si los datos exceden la longitud permitida en una columna, se producirá un error de truncamiento. Es importante asegurarse de que el formato del archivo coincida con las especificaciones de la tabla para evitar tales errores.

En algunos casos, los desarrolladores pueden preferir insertar cualquier dato y luego limpiar los datos, mientras que en otros casos, los desarrolladores pueden preferir que se produzcan errores si los datos no coinciden con las expectativas. Depende de los requisitos específicos y el contexto de los datos.

Para manejar los errores durante la inserción masiva, podemos especificar una cantidad máxima de errores utilizando la opción MAXERRORS. Esto permite que la inserción masiva continúe insertando datos incluso si se encuentran errores. Por ejemplo:

TRUNCATE TABLE etlImport4
	
	BULK INSERT etlImport4 
	FROM 'C:\ETL\Files\Read\Bulk\delimited_20180101.txt'
	WITH (
		FIELDTERMINATOR = '|',
		ROWTERMINATOR = 'z',
		MAXERRORS = 1
	)
	
	SELECT * FROM etlImport4
	

En este ejemplo, la tabla ‘etlImport4’ se trunca para vaciarla antes de la operación de inserción masiva. La opción MAXERRORS se establece en 1, lo que permite que la inserción masiva continúe insertando datos incluso si se encuentra un error.

Conclusión

La inserción masiva es una función poderosa en SQL Server que permite una importación de datos eficiente y confiable. Al comprender los conceptos básicos de la inserción masiva y cómo manejar los errores, podemos simplificar el proceso de importar grandes cantidades de datos en tablas de SQL Server.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.