Массовая вставка с файлом .fmt: код ошибки операционной системы (ноль) - PullRequest
12 голосов
/ 22 ноября 2011

Я пытаюсь импортировать текстовый файл, определенный в формате .fmt.Вместо того, чтобы разделять запятыми, этот текстовый файл является тем, что я бы назвал разделенным столбцами (т.е. первые 8 символов - это первое поле, следующие 3 символа - второе и т. Д.).Когда я запускаю запрос ниже, я получаю сообщение «Код ошибки операционной системы (ноль)», что странно, поскольку я использую SQL Server 2008r2 с Vista.

Пожалуйста, объясните мне, что эточто означает сообщение об ошибке и как мне его обойти? Я погуглил его и нашел похожие вопросы на других форумах, но они так и не получили ответа.

Вот мой запрос:

BULK INSERT LoadTable FROM '\\Dev2\Queries\Test.txt'
WITH (FIRSTROW = 2,
      FORMATFILE = '\\Dev2\fmt\Test.fmt',
      KEEPNULLS)

Вот ошибка, которую я получаю:

Cannot bulk load because the file "\\Dev2\fmt\test.fmt" could not be read. 
Operating system error code (null).

Вот что содержит Test.fmt:

9.0
7
1   SQLCHAR 0   8   ""  1   Record_Control_Data SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR 0   3   ""  2   Filler  ""
3   SQLCHAR 0   1   ""  3   Member_Code SQL_Latin1_General_CP1_CI_AS
4   SQLCHAR 0   2   ""  4   Member_Sequence_Number  SQL_Latin1_General_CP1_CI_AS
5   SQLCHAR 0   9   ""  5   Participant_SSN SQL_Latin1_General_CP1_CI_AS
6   SQLCHAR 0   20  ""  6   LastName    SQL_Latin1_General_CP1_CI_AS
7   SQLCHAR 0   250 "\r\n"  7   Filler10    SQL_Latin1_General_CP1_CI_AS

(Этот test.fmt и test.txt - это упрощенная версиянабор данных с 120 столбцами. Но сообщение об ошибке остается тем же. Как только я смогу запустить эту тестовую версию, я применю исправление к реальным данным)

Редактировать

В ответ надругие половинные ответы в Интернете, у меня должно быть полное разрешение на чтение / запись для этих папок и файлов.

1 Ответ

49 голосов
/ 25 ноября 2011

Файл .fmt нуждается в пустой строке в самом конце.

...