Saltar al contenido

Como usar bulk insert sql server

BULK INSERT o la carga datos de un archivo de datos a una tabla. Esta funcionalidad es parecida a la importacion de CSV a sqlserver de powershell; la diferencia es que lee el archivo de datos es el proceso de SQL Server.

La instrucción BULK INSERT de Transact-SQL se ejecuta en la instancia de SQL Server, por lo que comparte el mismo espacio de direcciones de memoria. Como el que abre los archivos de datos en memoria.

Para este caso práctico, hemos elegido el comando Bulk Insert para las operaciones de carga masiva.

Índice

    Como usar bulk insert sql server

    -Importar vía comando un archivo de texto debemos identificar el archivo y permisos para bulk insert sql server desde el directorio que se encuentra el archivo(esto es el acceso a lectura).

    -Definir si las cual es el carácter utilizado para separar las columnas( en el caso de los CSV comun mente se utiliza la coma).

    Ejemplos de bulk insert sql server por codigo

    Declare   @sql varchar(MAX)
    set @sql = 'BULK INSERT [dbo].[tablaejemplo]
         FROM ''C:\direcotrioejemplo\ejemplo.csv''
         with
         (
            firstrow = 2,
            fieldterminator = '';'',
            rowterminator = ''\n'',
            tablock
         );'
     EXEC(@sql);

    Veamos que el la sentencia anterior fue ignorada el primero registro haciendo que la lectura inicie desde la segunda fila ademas este archivo esta separado por punto y coma(;). el archivo sera leido y cargado en la tabla de sql llamada tabla ejemplo.

    Como exportar archivos a CSV ?

    Existen otros ejemplo muy interensantes de como importar o exportar un archivo csv o txt desde herramientas como powershell o el management studio.

    Importar un archivo txt o xls a sql Server

    Importar a CSV un tabla de sq server

    Importar CSV con Power Shell

    Errores mas comunes importando CSV a SQL Server

    -Las restricciones se comprueban para cada fila insertada. Si procede, se recomienda deshabilitar la comprobación de restricciones.

    -No deshabilitar la restricción de unicidad, la restricción de clave principal/clave externa ni la restricción NOT NULL.

    -Los de tipos de datos ya que si el campo esta definido como fecha y el archivo tiene un valor diferente a la fecha el mismo no podría cargarse.

    Gulk insert sql management studio

    Importar un archivo desde management studio te recomendamos este link.

    En Resumen

    La instrucción BULK INSERT consume memoria del servidor ademas se recomienda aplicar todas la restricciones necesarias para evitar tener que cargar y validar la información varias veces.

    Favor déjanos tu comentario si tienes alguna duda!!

    Hasta la próxima :D!!