2014-11-26 2 views
2

Я пытаюсь экспортировать данные в формате XML, но проблема в том, что я могу создать файл xml, но данные не получают запись в файл, следующий за моим кодом. Я пробовать.Экспорт данных xml с использованием команды BCP в SQL Server

DECLARE @cmd VARCHAR(2000); 

SET @cmd = 'bcp.exe "select * from emp FOR XML AUTO" queryout E:\rahul_1.xml -x -T'; 

EXEC xp_cmdshell @cmd ; 

И следующее выходное сообщение я получаю после выполнения кода выше

NULL 
Enter the file storage type of field XML_F52E2B61-18A1-11d1-B105-00805F49916B [ntext]: 

может любой орган, пожалуйста предложить меня на этом

+0

На стороне примечания [документация] (https://msdn.microsoft.com/en-gb/library/ms162802.aspx) явно говорит: '-x не работает при импорте или экспорте данных.' – Bridge

ответ

4

Дэн вы отвечаете за работы, за исключением одного l ast вещь. BCP требуется дополнительная информация об исходном запросе. Лучшая идея полностью квалифицировать источник данных.

SET @cmd = 'bcp.exe "select * from [Database].[Schema].[Table] FOR XML AUTO" queryout E:\rahul_1.xml -c -T'; 
0

Вместо -го параметра (сгенерировать XML-файл формат), укажите -c (файл-символ):

SET @cmd = 'bcp.exe "select * from emp FOR XML AUTO" queryout E:\rahul_1.xml -c -T'; 
+0

Спасибо за повтор. Я пробовал это, но он тоже не работает, после сообщения, которое я получил после команды выполнения NULL Стартовая копия ... NULL 0 строк скопировано. Размер сетевого пакета (байты): 4096 Часы (мс.) Всего: 1 NULL – Shashikant

1

пытаются использовать ключ -w для экспорта XML-файл в правильном формате

SET @cmd = «Bcp.exe«выберите * из [Database]. [Схемы]. [Таблица] FOR XML AUTO "queryout E: \ filename.xml -S MyServer \ MyInstance -c -T -w ';

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