Intente usar un archivo de formato ya que su archivo de datos solo tiene 4 columnas. De lo contrario, intente OPENROWSET
o usa una mesa de preparación.
myTestFormatFiles.Fmt
puede verse como:
9.0 4 1 SQLINT 0 3 "," 1 StudentNo "" 2 SQLCHAR 0 100 "," 2 FirstName SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 100 "," 3 LastName SQL_Latin1_General_CP1_CI_AS 4 SQLINT 0 4 "\r\n" 4 Year "
(fuente:microsoft.com)
Este tutorial sobre saltar una columna con BULK INSERT
también puede ayudar.
Entonces, su declaración se vería así:
USE xta9354
GO
BULK INSERT xta9354.dbo.Students
FROM 'd:\userdata\xta9_Students.txt'
WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')