Comentarios en: Importación de archivos CSV con el comando Bulk Insert https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/ El blog de Scientia® Soluciones Informáticas Wed, 14 Jun 2023 14:01:41 +0000 hourly 1 Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16202 Wed, 14 Jun 2023 14:01:41 +0000 http://www.programandoamedianoche.com/?p=583#comment-16202 En respuesta a Alejandro Quintero.

Hola Alejandro.
Para especificar las columnas te recomiendo crear una vista con los campos que necesitás importar, y hacer la importación sobre esa vista.
Suerte!

]]>
Por: Alejandro Quintero https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16201 Wed, 14 Jun 2023 01:17:59 +0000 http://www.programandoamedianoche.com/?p=583#comment-16201 Quiero hacer un bulk insert pero quiero obviar la primera columna ya que es una columna que no esta en el archivo csv alguien que me ayude por favor.

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16139 Wed, 09 Mar 2022 11:21:54 +0000 http://www.programandoamedianoche.com/?p=583#comment-16139 En respuesta a Lizzie.

Hola Verónica.
¿Puede ser que ese archivo no tenga el caracter \n al final de cada fila?
Saludos.

]]>
Por: Lizzie https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16138 Wed, 09 Mar 2022 07:02:57 +0000 http://www.programandoamedianoche.com/?p=583#comment-16138 Hola! Yo intento hacer la carga de mi txt delimitado por | pero al llegar la siguiente fila la carga en la misma columan:(

INSERT #test1 
FROM 'C:\Excel\xX\Prueba\rh_cat_empleado.txt'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR =  '\n'
)
]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16128 Tue, 04 Jan 2022 17:04:09 +0000 http://www.programandoamedianoche.com/?p=583#comment-16128 En respuesta a Carina.

Hola Carina.
Para cargar sólo algunos registros puedes utilizar la opción LASTROW.
¡Suerte!

]]>
Por: Carina https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16127 Tue, 04 Jan 2022 15:49:35 +0000 http://www.programandoamedianoche.com/?p=583#comment-16127 Mucha gracias por la información. Tengo una consulta: Si quisiera cargar solamente la primer fila (ya que en esa fila me indica ciertos datos que corresponden a la cantidad de registros del archivo), como puedo hacer para cargar solamente ese registro e ignorar el resto. Aclaro que la primer fila solo tiene 2 campos y el resto 6.

Gracias.

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16126 Wed, 15 Dec 2021 15:09:38 +0000 http://www.programandoamedianoche.com/?p=583#comment-16126 En respuesta a freyder ortega.

En ese caso te conviene meter toda la sentencia en una variable y luego ejecutarla con un EXECUTE.
¡Suerte!

]]>
Por: freyder ortega https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16125 Wed, 15 Dec 2021 14:56:04 +0000 http://www.programandoamedianoche.com/?p=583#comment-16125 Buen dia
Una pregunta,estoy tratando de pasar la ruta del archivo por medio de parametro pero no ha sido posible, saca el error de que el archivo no existe, ejemplo, donde dice from, le coloco »+@ruta+», no me da pasandole la ruta por parametro, como hago?

]]>
Por: CABRARO MARIA LAURA https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16066 Fri, 05 Feb 2021 13:17:34 +0000 http://www.programandoamedianoche.com/?p=583#comment-16066 Hola, buen dia. Si tengo un CSV delimitado por ; (punto y coma) y dentro del texto de un campo tengo datos como «hola; chau» y no tengo posibilidad de modificar el delimitador de campos, podrìa especificar de alguna forma que lo que està dentro de » » no se debe tomar como tal?
Estoy trabajando con Sql Server 2014 (Vi que para versiones mas nuevas si hay opciones)

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-16019 Tue, 14 Jul 2020 23:15:06 +0000 http://www.programandoamedianoche.com/?p=583#comment-16019 En respuesta a Esteban Nano.

Muchas gracias por el aviso Esteban, quedó mal en alguna actualización pero ya lo resolvimos.
Saludos.

]]>
Por: Esteban Nano https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15989 Sun, 19 Apr 2020 04:04:40 +0000 http://www.programandoamedianoche.com/?p=583#comment-15989 Favor re-acomodar las dimensiones de su página web, el contenido esta perfecto, pero es una molestia para los ojos al leerlo. Agradezco su atención.

]]>
Por: Erika Echeverri https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15902 Thu, 10 Jan 2019 03:01:51 +0000 http://www.programandoamedianoche.com/?p=583#comment-15902 Como hago si son varios archivos de cvs para que se me carguen diariamente automáticamente al sql?

]]>
Por: Bryan Edgar https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15798 Fri, 12 Oct 2018 17:53:40 +0000 http://www.programandoamedianoche.com/?p=583#comment-15798 En respuesta a Gustavo Cantero (The Wolf).

Si sirvió Amigo muchas gracias. Ahora tengo un problema .. tengo un poco mas de un millon de registros y una linea del registro tiene información errónea .. Existe alguna forma de saltarse esa linea y que continué la carga ?

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15796 Mon, 08 Oct 2018 13:45:38 +0000 http://www.programandoamedianoche.com/?p=583#comment-15796 En respuesta a Bryan Edgar.

Hola Bryan.
Estoy «casi» seguro que funciona con FIELDTERMINATOR = '\t'.
Después comentame si te funcionó.
¡Suerte!

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15795 Mon, 08 Oct 2018 13:41:06 +0000 http://www.programandoamedianoche.com/?p=583#comment-15795 En respuesta a carlos linares.

Hola Carlos.
El FIRSTROW no está pensado para saltear los encabezados (está en la documentación: BULK INSERT (Transact-SQL)). ¿Si no le ponés el FIRSTROW=2 no funciona?
Saludos.

]]>
Por: Bryan Edgar https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15794 Sat, 06 Oct 2018 17:20:32 +0000 http://www.programandoamedianoche.com/?p=583#comment-15794 Excelente informacion.. Una duda .. si mi archivo de texto tiene como separadores un espacio en blanco (Tab) la sentencia de FIELDTERMINATOR como seria ?
FIELDTERMINATOR= ‘ ‘ … solo se dejaria un espacio en blanco

]]>
Por: carlos linares https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15793 Thu, 04 Oct 2018 14:41:59 +0000 http://www.programandoamedianoche.com/?p=583#comment-15793 hola, estoy intentando usar el FIRSTROW =2 ya que mi primera fila del txt es mi encabezado y luego vienen los registro, utilizo el FIRSTROW =2 y me omite la pirmera fila (encabezado) y la segunda fila que es mi primer registro por lo que se empieza a cargar la tabla desde el segundo registro, como hago para que salga bien?. esto se debe a que mi primera fila no cumple con los campos de la tabla de los registros entonces no la toma en cuenta a la hora de saltar la fila. Como puedo hacer para que funcione bien lo que quiero?

]]>
Por: Marcelo Arancibia Pinto https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15701 Mon, 30 Oct 2017 14:21:32 +0000 http://www.programandoamedianoche.com/?p=583#comment-15701 FIRSTROW =2

]]>
Por: Juan https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15628 Tue, 10 Jan 2017 16:45:19 +0000 http://www.programandoamedianoche.com/?p=583#comment-15628 Cómo se utiliza o se dice para q importe desde la segunda fila. El txt a cargar tiene cabeceras

]]>
Por: Gus https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-15318 Thu, 08 Jan 2015 15:59:58 +0000 http://www.programandoamedianoche.com/?p=583#comment-15318 Excelente y muy claro!

]]>
Por: Gustavo Cantero (The Wolf) https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-14592 Wed, 27 Nov 2013 15:39:44 +0000 http://www.programandoamedianoche.com/?p=583#comment-14592 En respuesta a Pedro.

Hola, Pedro.
Podrías reemplazar el separador de campo por otro valor, por ejemplo por «|», reemplazando las comas del CSV y el valor de FIELDTERMINATOR por este caracter.
Suerte!

]]>
Por: Pedro https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-14591 Wed, 27 Nov 2013 14:26:32 +0000 http://www.programandoamedianoche.com/?p=583#comment-14591 Hola muy buena la info, tengo una consulta en mi archivo csv tengo un campo descripción el cual posee el siguiente texto «luces, lamparas». Forman parte de la misma columna pero como en el medio tiene una coma me lo transforma en 2 columnas. Como puedo salvar este problemas

Muchas gracias!

]]>
Por: Importar Datos a SQL SERVER « ingbda8a https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-5076 Mon, 16 Jan 2012 19:11:40 +0000 http://www.programandoamedianoche.com/?p=583#comment-5076 […] Importación de archivos CSV con el comando Bulk Insert […]

]]>
Por: Dario Krapp https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-119 Thu, 08 Apr 2010 22:10:06 +0000 http://www.programandoamedianoche.com/?p=583#comment-119 En respuesta a Rikku.

Hola Rikku,
La sentencia BULK INSERT aceptará un argumento llamado FORMATFILE en el cual podrás especificar el path a un archivo, en dicho archivo podrás definir el mapeo entre el origen y el destino.
Podés encontrar la explicación de este argumento, junto con todos los que acepta la sentencia en:

http://msdn.microsoft.com/en-us/library/ms188365.aspx

Por otra parte, para crear este archivo podés emplear la utilidad bcp desde la linea de comandos, te dejo otro link donde te explica como utilizarla, ya que la misma acepta una infinidad de argumentos y opciones:

http://msdn.microsoft.com/en-us/library/ms162802.aspx

Sdls
Darío

]]>
Por: Rikku https://www.programandoamedianoche.com/2009/09/importacion-de-archivos-csv-con-el-comando-bulk-insert/#comment-118 Wed, 07 Apr 2010 16:33:12 +0000 http://www.programandoamedianoche.com/?p=583#comment-118 Buenas,
Gracias por facilitar información sobre la sentencia BULK INSERT aunque me surge la siguiente duda:

Imagina que mi tabla no tiene la misma estructura que el fichero del que quiero realizar la importación, por ejemplo que tenga muchos menos campos y en otro orden.

¿Cómo podría especificarle al BULK INSERT qué columna del fichero corresponde a qué campo de la tabla en la base de datos?

Un saludo y muchas gracias de antemano

]]>