2017-02-20 7 views
1
BULK INSERT dbo.bulkins 
FROM "C:\BulkDataFile.csv" 
WITH 
    (FIELDTERMINATOR =',', 
    ROWTERMINATOR = '\n') 

Ошибка:Как навалом вставить в SQL Server из Excel с помощью запроса

Msg 4860, Level 16, State 1, Line 2
Cannot bulk load. The file "C:\BulkDataFile.csv" does not exist.

Как это исправить?

+5

Ну - какая часть ** не существует ** Вы не понимаете? Кажется, что файла просто нет - * как его исправить? * - поместите файл, где вы ожидаете, что это будет ..... и если это * удаленный * SQL Server, файл должен быть на * * удаленный автомат ** 'C: \' диск - не ваш диск 'C: \' вашего локального ПК ...... –

+0

Также файл excel должен быть явно сохранен как CSV-файл. – DhruvJoshi

+0

@Marc_s ** please ** добавьте это как ответ, чтобы это не отображалось в ответах. – SqlZim

ответ

3

сообщение об ошибке кажется кристально ясно: «файл ... не существует» ...

Таким образом, кажется, что это файл, который вы пытаетесь использовать, чтобы сделать ваш BULK INSERT просто не существует.

Как это исправить? Простой: просто поместите файл там, где вы ожидаете, и снова запустите свой код.

И если это удаленного SQL Server, файл должен быть наC:\ привода удаленной машины - не C:\ диска вашего локального ПК ...

+0

Есть ли способ для массовой загрузки данных из локального файла? Мне удалось загружать строки за строкой, но это слишком медленно. И копирование файла на сервер не будет разрешено. – thursdaysgeek

+0

@thursdaysgeek: ** no ** - ваш удаленный SQL Server ** не может ** получить доступ к вашему локальному диску - и это хорошо! * Вам нужно поместить файл непосредственно в файловую систему сервера или на хранилище диск, к которому имеет доступ SQL Server. –

+0

Хорошо. Но почему я могу загрузить тот же файл с моей локальной машины с помощью SSIS? (Я бы предпочел использовать SSIS, но код, который я поддерживаю, находится в Excel VBA). Это, вероятно, лучше, как отдельный вопрос. – thursdaysgeek

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