sql >> Databasteknik >  >> RDS >> Sqlserver

Massdatakonverteringsfel (typfel överensstämmer eller ogiltigt tecken för angiven teckentabell) för rad 1, kolumn 4 (år)

Försök att använda en formatfil eftersom din datafil bara har 4 kolumner. Annars kan du prova OPENROWSET eller använd ett mellanställningsbord.

myTestFormatFiles.Fmt kan se ut så här:

9.041 SQLINT 0 3 "," 1 StudentNo ""2 SQLCHAR 0 100 "," 2 Förnamn SQL_Latin1_General_CP1_CI_AS3 SQLCHAR 0 100 "," 3 Efternamn SQL_Latin1_General_CP1_CI_AS4 SQLINT 0" 4 "\pre" 4 " 


(källa:microsoft.com)

Denna handledning om att hoppa över en kolumn med BULK INSERT kan också hjälpa.

Ditt uttalande skulle då se ut så här:

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


  1. Fel 1046 Ingen databas vald, hur löser man det?

  2. Fix Error Msg 4151 "Typen av det första argumentet till NULLIF kan inte vara NULL-konstanten eftersom typen av det första argumentet måste vara känd" i SQL Server

  3. Varför kommer NULL-värden först när man beställer DESC i en PostgreSQL-fråga?

  4. Få ett objekts ID från dess namn i SQL Server:OBJECT_ID()