Как импортировать очень большой CSV-файл в существующую таблицу SQL Server?

У меня очень большой CSV-файл с ~ 500 столбцами, ~ 350k строками, который я пытаюсь импортировать в существующую таблицу SQL Server.

Я попробовал BULK INSERT , я получил - Запрос выполнен успешно, затронуты 0 строк . Интересно, что BULK INSERT сработал за считанные секунды для аналогичной операции, но для гораздо меньшего файла csv, менее 50 столбцов, ~ 77 тыс. Строк.

Я также пробовал bcp , я получил - Неожиданный EOF обнаружен в файле данных BCP. Ошибка копирования BCP .

Задача проста - она ​​не должна быть сложной до предела чистого разочарования. Есть идеи или предложения? Какие-либо другие инструменты, утилиты, которые вы успешно использовали для выполнения операции массового импорта или чего-то подобного? Спасибо.

- BULK INSERT

USE myDb  
BULK INSERT myTable  
FROM 'C:\Users\myFile.csv'  
WITH  
(  
FIRSTROW = 2,  
-- DATAFILETYPE = 'char',  
-- MAXERRORS = 100,  
FIELDTERMINATOR = ',',  
ROWTERMINATOR = '\n'  
);

- bcp

bcp myDb.dbo.myTable in 'C:\Users\myFile.csv' -T -t, -c

ОБНОВЛЕНИЕ
Я изменил курс. Я решил присоединиться к файлам csv, что было моей целью с самого начала, за пределами SQL Server, чтобы мне не приходилось пока выгружать данные в таблицу. Однако было бы интересно попробовать загрузить (BULK INSERT или 'bcp') только 1 запись (~ 490 столбцов) из файла csv, что в противном случае не удалось, и посмотреть, работает ли это.

6
задан Micky Walia 10 April 2013 в 15:27
поделиться