Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore di conversione dei dati di caricamento in blocco (tipo non corrispondente o carattere non valido per la tabella codici specificata) per la riga 1, colonna 4 (anno)

Prova a utilizzare un file di formato poiché il tuo file di dati ha solo 4 colonne. Altrimenti, prova OPENROWSET oppure usa una tabella di staging.

myTestFormatFiles.Fmt potrebbe assomigliare a:

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           "


(fonte:microsoft.com)

Questo tutorial su come saltare una colonna con BULK INSERT può anche aiutare.

La tua dichiarazione quindi sarebbe simile a:

USE xta9354
GO
BULK INSERT xta9354.dbo.Students
    FROM 'd:\userdata\xta9_Students.txt' 
    WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')