2013-12-09 3 views
0

Рассмотрим таблицу:SQL Bulk сервера Insert Failure

CREATE TABLE [dbo].[inputdata](
    [Name] [varchar](150) NULL, 
    [AddressStreet] [varchar](150) NULL, 
    [AddressStreet2] [varchar](150) NULL, 
    [City] [varchar](150) NULL, 
    [State] [varchar](2) NULL, 
    [Zip] [varchar](5) NULL, 
    [Phone] [varchar](10) NULL, 
    [Campus] [varchar](50) NULL, 
    [Access] [varchar](50) NULL, 
    [Type] [varchar](50) NULL, 
    [Degree] [varchar](50) NULL, 
    [Unknown1] [varchar](50) NULL, 
    [Unknown2] [varchar](50) NULL, 
    [IdentType] [varchar](50) NULL, 
    [Unknown3] [varchar](50) NULL 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO 

и сценарий вставки:

SET ANSI_DEFAULTS ON 

BULK INSERT dbo.inputdata 
FROM 'C:\inputdata.csv' 
WITH (
    FIELDTERMINATOR = ',' 
    ,ROWTERMINATOR='\n' 
) 

Почему следующий вывод ошибки:

Основная нагрузка не удалось. Столбец слишком длинный в файле данных для строки 1, столбец 15. Убедитесь, что терминатор поля и ограничитель строки указаны правильно.

DataRow 1 (я вручную добавил \ п для этого вопроса, характер существует в каждой строке из файла):

1CRESCENT CITY BARTENDING INSTITUTE,209 N. BROAD AVE., ,NEW ORLEANS,LA,70119,.,Regular,Private,1-2 years,Diploma, , ,IPEDSUNIT,158617,\n 
+1

Вам также нужно будет отобразить структуру таблицы 'inputdata'! –

ответ

0

Существует дополнительное поле терминатора в конце строки. Дополнительный ограничитель поля может привести к тому, что он вызовет общие ошибки.

Надеюсь, это поможет!

Один из способов обеспечения загрузки файлов, которые имеют странные элементы, такие как дополнительный терминатор поля или текстовые поля с использованием массовой вставки, использует файл формата. В приведенной ниже ссылке объясняется, как создать один из этих файлов.

http://technet.microsoft.com/en-us/library/ms191479(v=sql.105).aspx

+0

Я попытался загрузить образец строки с дополнительным терминатором. Это сработало. – Twinkles

0

Я попытался воссоздать вашу проблему и все работало. Пока я не попытался преобразовать файл в формат UNIX, где строка перевода отличается. Это вызвало у меня следующее сообщение:

Bulk load data conversion error (truncation) for row 1, column 15 (Unknown3). 

Попробуйте просмотреть файл с шестнадцатеричным редактором.