2009-08-18 2 views
1

У меня проблемы с вставкой данных в базу данных SQL Express 2005.Массовая вставка в SQL Server Express 2005 не работает

Я использую следующий код:

BULK INSERT [dbEPi].[dbo].[postcode] 
FROM 'C:\Development\postnummerRegister.txt' 
WITH 
(
    FIELDTERMINATOR = '\t', 
    ROWTERMINATOR = '\n' 
) 

и я получаю следующее сообщение об ошибке:

Msg 4866, Level 16, State 1, Line 1 
The bulk load failed. The column is too long in the data file for row 1, column 5. Verify that the field terminator and row terminator are specified correctly. 
Msg 7399, Level 16, State 1, Line 1 
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error. 
Msg 7330, Level 16, State 2, Line 1 
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)". 

файл данных Я пытаюсь импортировать, can be located here.

Любая помощь, оказанная.

Update 1 Вот пример данных я использую:

0001 OSLO 0301 OSLO K 
0010 OSLO 0301 OSLO F 
0014 OSLO 0301 OSLO K 
0015 OSLO 0301 OSLO K 
0016 OSLO 0301 OSLO K 
0017 OSLO 0301 OSLO K 
0018 OSLO 0301 OSLO G 
0020 OSLO 0301 OSLO K 
0021 OSLO 0301 OSLO K 

Update 2

мне удалось импортировать их сейчас. Все, что я сделал, это скопировать текст в новый файл и сохранить его как test.txt. Я понятия не имею, почему это работает. Это может быть из-за кодирования файла. Файл был закодирован в кодировке UTF8.

+0

Привет, я не совсем уверен, что только что-то, чтобы проверить после последнего поля там \ т до \ п? – IordanTanev

+0

После последнего поля нет вкладок. Просто терминатор линии. – Steven

ответ

2

Во-первых, rowterminators, похоже, являются строками окон 0D 0A в файле. (CR LF). Я считаю, что это означает \r\n. Однако проблема все еще сохраняется.

Там, как представляется, исправление от MS http://support.microsoft.com/kb/935446

+0

Я тоже пробовал \ r \ n, но получил то же сообщение об ошибке. – Steven

+0

См. Ссылку для исправления – pjp

+0

Мне удалось импортировать их сейчас. Все, что я сделал, это скопировать текст в новый файл и сохранить его как test.txt. Я понятия не имею, почему это работает. Это может быть из-за кодировки файла? Файл должен кодироваться в формате UTF8. – Steven

Смежные вопросы