Почему делают я получаю “парсинг XML: строка 2, символ 0, неправильный синтаксис документа”, когда Объем, Вставляющий в SQL Server MS

Я делаю BULK INSERT в таблицу с помощью файла формата FMT, но я получаю следующую ошибку:

XML parsing: line 2, character 0, incorrect document syntax

Вот мой код

BULK INSERT [DM_Flux].[dbo].[Stage] FROM 'C:\temp\data.dat'
WITH (FORMATFILE = 'C:\temp\FormatBcp.fmt')

Вот formatfile (файл стандартного формата, не XML):

10.0
5
1   SQLCHAR 0   2   ""  1   Id  ""
2   SQLCHAR 0   40  ""  2   Name    ""
3   SQLCHAR 0   50  ""  3   Street  ""
4   SQLCHAR 0   8   ""  4   StreetNo    ""
5   SQLCHAR 0   300 "\r\n"  7   BulkData    ""

Почему я получаю ошибку XML с этим?

11
задан Cros 28 January 2010 в 13:02
поделиться

2 ответа

Если файл формата закодирован как Unicode, навальная вставка автоматически подумает, что это XML-файл и относится к нему как таковое. Убедитесь, что файл закодирован как ANSI , и вы должны быть в порядке.

4
ответ дан 3 December 2019 в 04:52
поделиться

И еще один момент на случай, если кто-то еще столкнется с этим...

Если вы уверены, что файл является ANSI, но все равно получаете эту ошибку, проверьте первую строку файла формата (номер версии). Номер версии должен совпадать с номером версии SQL (или быть более старым).

Ссылка MSDN:

Версия утилиты bcp (Bcp.exe), используемой для чтения файла формата, должна быть такой же или более поздней, чем версия, использованная для создания файла формата. Например, SQL Server 2008 bcp может прочитать файл формата версии 9.0, созданный SQL Server 2005 bcp, но SQL Server 2005 bcp не может прочитать файл формата версии 10.0, созданный SQL Server 2008 bcp.

12
ответ дан 3 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: