Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Erreur de conversion de données de chargement en masse (incompatibilité de type ou caractère non valide pour la page de codes spécifiée) pour la ligne 1, colonne 4 (Année)

Essayez d'utiliser un fichier de format car votre fichier de données ne comporte que 4 colonnes. Sinon, essayez OPENROWSET ou utilisez une table intermédiaire.

myTestFormatFiles.Fmt peut ressembler à :

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           "


(source :microsoft.com)

Ce tutoriel sur le saut d'une colonne avec BULK INSERT peut également aider.

Votre déclaration ressemblerait alors à :

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