Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывод данных XML в *.csv через SQLCMD  [new]
Aleksey br
Member

Откуда:
Сообщений: 73
Добрый день.
Настал момент, когда нужно понять как через консоль можно выгрузить структурированные данные, хранящиеся в таблице в формате XML.
Суть в чем: есть запрос вида, которым выгружаются данные в файл
declare @cmd varchar(1200)
SET @cmd='sqlcmd -S SERV -d DB -E -Q "set nocount on;select id, XML_col from Table" -o c:\report.xls -u -y 0 -s "' + CHAR(9)+'"' SET NOCOUNT ON
EXEC master..xp_cmdshell @cmd, no_output


Все выводится корректно, кроме одного момента: значение поля XML_col выводится в одну строку.
Я видел аналогичные файлы с структурированным XML.
Кто-то знает как этого можно достичь в текущем функционале без использования SSRS, тулзы импорта и прочего?!
20 мар 18, 15:51    [21271957]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
aleks222
Guest
Вот нафига?
Любое средство просмотра, да хоть IE, покажет тебе "структурированный, с отступами и прочим блекджеком и пшлюхами XML".
20 мар 18, 17:10    [21272267]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
Aleksey br
Member

Откуда:
Сообщений: 73
aleks222,

К сожалению, это неправда: правильно отобразит только когда система понимает, что это XML, а SQLCMD в моем случае конвертирует данные в string
20 мар 18, 18:16    [21272455]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Aleksey br
aleks222,

К сожалению, это неправда: правильно отобразит только когда система понимает, что это XML, а SQLCMD в моем случае конвертирует данные в string

и вы решили что если правильно расставить на экране, то все поёмут что это xml?

ну и улыбает вставка в xls, это вы думаете что вы файл экселя так нагенерируете?
20 мар 18, 18:18    [21272459]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
Aleksey br
Member

Откуда:
Сообщений: 73
TaPaK
улыбает вставка в xls

Это сугубо для наглядности
20 мар 18, 18:34    [21272492]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Aleksey br
TaPaK
улыбает вставка в xls

Это сугубо для наглядности

вы хотите файл выглядящий как структурированных xml? хз зачем, но тогда надо разбирать ваше поле и вставлять где надо CHAR(13) + CHAR(10)
20 мар 18, 19:07    [21272562]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных XML в *.csv через SQLCMD  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Aleksey br
aleks222,

К сожалению, это неправда: правильно отобразит только когда система понимает, что это XML, а SQLCMD в моем случае конвертирует данные в string

Вам нужно id преобразовать в высший уровень своего XML, то есть сформировать сначала новый XML, где листовой уровень будет <id 123><содержимое xml из строки/></id>. Я так думаю.
20 мар 18, 19:11    [21272578]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить