2015-11-14 5 views
0

Я собираюсь импортировать текстовый файл с разделителями на 30 ГБ в SQL Server с помощью мастера импорта и экспорта. разделительный символ | (конвейер) Я ищу все в Интернете, но решения пока нет. Есть некоторые проблемы, такие же, как и я, но не точное сообщение об ошибке:Решение для импорта Огромный текстовый файл с разделителями на SQL Server

- Executing (Error) 
Messages 
Error 0xc020209c: Data Flow Task 1: The column data for column "Username" overflowed the disk I/O buffer. 
(SQL Server Import and Export Wizard) 

Error 0xc0202091: Data Flow Task 1: An error occurred while skipping data rows. 
(SQL Server Import and Export Wizard) 

Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. 
The PrimeOutput method on component "Source - Sessions_txt" (1) returned error code 0xC0202091. 
The component returned a failure code when the pipeline engine called PrimeOutput(). 
The meaning of the failure code is defined by the component, 
but the error is fatal and the pipeline stopped executing. 
There may be error messages posted before this with more information about the failure. 

(SQL Server Import and Export Wizard) 

Я пытался сначала импортировать его в файл Excel, а затем импортировать файл первенствовать в SQL Server, но подсчет строк около 300000000 записей!

Я полагаю, что проблема заключается в первоначальном диалоговом окне импорта диалогового окна мастера импорта и экспорта SQL Server. Я ценю любое решение, которое вы предлагаете.

Спасибо.

ответ

1

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

0

Вы можете получить данные столбца для столбца {столбец}, переполнившего буфер ввода-вывода диска, если вы не нажимаете на разделитель строк. Например, если ваш разделитель строк задан как {CR} {LF}, но каждая строка вашего файла заканчивается только {LF}, тогда SSIS попытается прочитать весь файл как одну строку!