SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Microsoft SQL Server » Cтранный формат xml
Cтранный формат xml [сообщение #2800] Wed, 19 July 2023 23:01 Переход к предыдущему сообщению
prospector в настоящее время не в онлайне  prospector
Сообщений: 5
Зарегистрирован: July 2023
Junior Member
После выгрузки с помощью bcp xml получается странного формата.

Код выгрузки:
declare
	@strSQL				nvarchar(1024)
	,@cmd				varchar(1024)

select @strSQL = ''
	+ 'select ''<?xml version=""1.0"" encoding=""utf-8""?>'' + ( '
	+ 'select CURRENT_TIMESTAMP [@date], ( '
	+ 'select ( '
		+ 'select * '
		+ 'from ( '
			+ 'select 	ENT_ART, REST_QTY '
			+ 'from ' + @DBName + '..ADV_CRM_EXPORT_ENTITIES '
		+ ') AS v(articul, quantity) '
		+ 'for xml path(''item''), TYPE '
	+ ') '
	+ 'for xml path(''items''), TYPE '
	+ ') '
	+ 'for xml path(''shop'') '
	+ ') '

select @cmd = 'bcp "'
	+ @strSQL
	+ '" '
    + 'queryout "' + @OutputFileName + '" -w -C1251 -r -T -x';

exec xp_cmdshell @cmd
Получаем xml:
https://ibb.co/G0MvJvj

Значениями NUL размер файла доводится до размера 65КB.
С одной стороны валидаторы говорят, что файл валидный.
Но с другой стороны в браузере такой файл не отображается. Плюс наличие мусора и завышение размера тоже не нравится.
Если из переменной @strSQL убрать строку 'select ''<?xml version=""1.0"" encoding=""utf-8""?>'' + ( ' и завершающую скобку, то файл получается нормальный.
Подскажите пожалуйста как убрать завершающие NUL.

[Обновления: Wed, 19 July 2023 23:11]

Известить модератора

 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: SQL Server Diagnostic Information
Следующая тема: Скрипт sql в xml
Переход к форуму:
  


Текущее время: Thu May 16 01:52:14 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00700 секунд