Luego de mirar en varios repositorios y sitios de internet finalmente encontramos la resolución que te enseñaremos más adelante.
Solución:
Omita el asistente y use solo BULK INSERT
Aquí hay un ejemplo:
BULK
INSERT CSVTest
FROM 'c:csvtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = 'n'
)
GO
Ejemplo completo: SERVIDOR SQL – Importar archivo CSV en SQL Server mediante inserción masiva – Cargar archivo delimitado por comas en SQL Server
La respuesta de Cyril está en el camino correcto. Sin embargo, un true La solución compatible con CSV ahora existe desde SQL Server 2017
(14.x) CTP 1.1.
Utilizar este
BULK INSERT destinationtable
FROM 'filepath'
WITH
(
FORMAT = 'CSV'
)
GO
Sin embargo, hay un problema. Si sus datos utilizan NULL
para indicar nulos, deberá eliminarlos ya que MSSQLSMS no aceptará NULL
como un valor NULL válido. Haz una búsqueda/reemplazo de ,NULL
a ,
.
Por ejemplo (4 columnas):
1,NULL,test,"Escaped text with comma, this works"
debe estar formateado así:
1,,test,"Escaped text with comma, this works"
Ver SQL no se insertará null valores con BULK INSERT para obtener información sobre problemas de inserción NULL.
Puede ir a https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017 para obtener más información.
Si te gustó nuestro trabajo, tienes la libertad de dejar una sección acerca de qué te ha gustado de esta noticia.