Подтвердить что ты не робот

Не может навалом. Файл c:\data.txt не существует.

У меня проблема с чтением данных из текстового файла в ms sql. Я создал текстовый файл в моем c:\called data.txt, но по какой-то причине ms sql-сервер не может найти файл. Я получаю сообщение об ошибке "Can not bulk load". Файл "c:\data.txt" не существует ". Любые идеи?

Файл данных (да, я знаю, что данные выглядят дерьмовыми, но в реальном мире это то, как это исходит от клиентов):

01-04 10.338,18 0,00 597.877,06- 5 0,7500 62,278-
06-04 91.773,00 9.949,83 679.700,23- 1 0,7500 14,160-
07-04 60.648,40 149.239,36 591.109,27- 1 0,7500 12,314-
08-04 220.173,70 213.804,37 597.478,60- 1 0,7500 12,447-
09-04 986.071,39 0,00 1.583.549,99- 3 0,7500 98,971-
12-04 836.049,00 1.325.234,79 1.094.364,20- 1 0,7500 22,799-
13-04 38.000,00 503.010,49 629.353,71- 1 0,7500 13,111-
14-04 286.400,00 840.126,50 75.627,21- 1 0,7500 1,575-

Sql:

CREATE TABLE #temp
(
    vchCol1 VARCHAR (50),
    vchCol2 VARCHAR (50),
    vchCol3 VARCHAR (50),
    vchCol4 VARCHAR (50),
    vchCol5 VARCHAR (50),
    vchCol6 VARCHAR (50),
    vchCol7 VARCHAR (50)
)

BULK insert #temp
FROM 'c:\data.txt'
WITH
(
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n'
)

select * from #temp
drop table #temp
4b9b3361

Ответ 1

Это выполняется на сервере, поэтому он ищет C:\data.txt на сервере C:.

Также убедитесь, что для входа в систему ваше использование имеет разрешения на чтение на C:.

Ответ 2

Этот файл на диске SQL Server C: \? SQL BULK INSERT и т.д. Всегда работает только с локальным диском на машине SQL Server. Ваш SQL Server не может попасть на ваш собственный локальный диск.

Вам нужно поместить файл на диск C:\SQL Server и повторите попытку.

Обновление: @bp_, нормально, правильно - файл также может находиться на общем ресурсе, доступ к которому можно получить с компьютера SQL Server с использованием UNC-пути. Но опять же: этот ресурс должен быть создан первым, и пользователь, которому работает процесс SQL Server, должен иметь права доступа к этому ресурсу. Вы не можете просто просто захватить файл с локального диска на вашем ПК, не создав при этом немного накладных расходов на инфраструктуру.

Ответ 3

Это проблема разрешения. у вас может не быть разрешения на этом диске. Убедитесь, что вход в систему, который вы используете, прочитал или, возможно, получил полное разрешение на управление. Он работал у меня на локальной машине.