Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Datenkonvertierungsfehler beim Massenladen (keine Typenübereinstimmung oder ungültiges Zeichen für die angegebene Codepage) für Zeile 1, Spalte 4 (Jahr)

Versuchen Sie, eine Formatdatei zu verwenden, da Ihre Datendatei nur 4 Spalten hat. Versuchen Sie andernfalls OPENROWSET oder verwenden Sie eine Staging-Tabelle.

myTestFormatFiles.Fmt kann so aussehen:

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           "


(Quelle:microsoft.com)

Dieses Tutorial zum Überspringen einer Spalte mit BULK INSERT kann auch helfen.

Ihre Aussage würde dann so aussehen:

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