2012-02-14 4 views
-3

Это мой SQL-запрос для вставки наваломМассовая вставка в SQL Server 2005?

BULK 
INSERT userTable 
FROM 'c:\name\userTable.txt' 
WITH 
(
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
) 
GO 

Это приводит к следующей ошибке

sql Cannot bulk load because the file "C:\name\userTable.txt" could not be opened. Operating system error code 3(The system cannot find the path specified.)

+1

Из-за сообщения об ошибке проверьте путь к файлу и имя файла. –

+0

Является ли этот экземпляр SQL Server на вашей локальной машине? Если нет: это файл на диске C: \ на удаленном сервере? Вы не можете связаться с удаленной машиной SQL Server на диске C: \ на локальном компьютере и перейти к файлу ..... –

+0

-1. Поскольку сообщение об ошибке OBVIOUS (Файл не найден), и вы ничего не делаете для его использования. – TomTom

ответ

4

Какая у вас настройка? ДВЕ возможности:

  • У сервера нет разрешения на эту папку. Сервер iwll придет с его собственными учетными данными, а не с вашими.
  • Сервер находится на другой машине.

Массовая вставка не является сетевой передачей, это команда на сервер для загрузки файла, который затем выполняется из процесса сервера. На серверной машине с учетными данными выполняется серверный процесс.

Итак, может ли сервер, с пользователем сервера, прочитать этот parth на сервере и найти файл?

Очевидный ответ: НЕТ. Просьба проверить и инвестировать более 10 секунд, думая о проблеме - сообщение об ошибке очень специфично.

0

Ваше имя файла отличается (Код: userTable.txt, ошибка: newUser.txt). Вы тоже уверены? файл существует и доступен для чтения?

+0

Извините, имя файла usertable.txt .. – Prabhakaran

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