Bulk Insert “Echec de chargement en masse de données erreur de conversion (troncature)”

J'ai fait des importations de données avec SQL Server BULK INSERT tâche des centaines de fois, mais cette fois, je reçois une erreur qui est inconnu et que j'ai essayé de dépannage en vain avec Google. Vous trouverez ci-dessous le code que j'utilise avec une virgule deliminated fichier où les nouvelles lignes sont indiquées par des caractères de nouvelle ligne:

BULK INSERT MyTable
FROM 'C:\myflatfile.txt'
WITH (
    FIELDTERMINATOR = ','
    ,ROWTERMINATOR = '/n')
GO

Il travaille constamment, pourtant, aujourd'hui, sur un simple fichier avec une date et un taux d', il échoue avec l'erreur de "Msg 4863, Niveau 16, État 1, Ligne 1 Bulk load erreur de conversion de données (troncature) pour la ligne 1, colonne 2 (ColumnTwo)." Quand je regarde le fichier, je ne vois pas pourquoi ce serait un échec (généralement le Google dépannage indique que les délimiteurs peuvent exister plusieurs fois dans une ligne, qui permettrait de relever cette erreur). À partir de ce fichier, voici le premier d'une dizaine de lignes (notez qu'il échoue sur la PREMIÈRE ligne):

1961-01-01,8.2
1961-02-01,8.2
1961-03-01,7.4
1961-04-01,7.6
1961-05-01,7.8
1961-06-01,8.5
1961-07-01,9.1
1961-08-01,8.8
1961-09-01,8.4
1961-10-01,8.8

La table, je suis l'insertion de ces données dans les deux champs il y a VARCHAR(50), même si quand j'ai vu la troncature j'ai élargi les champs de données à VARCHAR(2000) et il n'a pas l'affecter.

CREATE TABLE MyTable (
    ColumnOne VARCHAR(50),
    ColumnTwo VARCHAR(50)
)

J'ai aussi essayé de supprimer tous les tirets pour voir si c'était le désordre des choses (même si j'ai fait beaucoup d'imports de données avec des tirets à l'aide de ce même code et il fonctionne sans erreur), et il a toujours reçu le même message d'erreur.

Une importation directe des œuvres (par Tasks) comme SSIS, mais ce code est un échec, car il doit être en train de faire exactement la même chose?

OriginalL'auteur Tim | 2013-03-01