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]

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

Re: Cтранный формат xml [сообщение #2801 является ответом на сообщение #2800] Thu, 20 July 2023 16:50 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 368
Зарегистрирован: June 2022
Senior Member
1. Картинка не грузится.
2. Вверху + 'select ''<?xml version=""1.0"" encoding=""utf-8""?>'' + ( '
3. Внизу -C1251

Возможно из-за не совпадения кодировок.
Re: Cтранный формат xml [сообщение #2802 является ответом на сообщение #2801] Thu, 20 July 2023 18:46 Переход к предыдущему сообщениюПереход к следующему сообщению
prospector в настоящее время не в онлайне  prospector
Сообщений: 5
Зарегистрирован: July 2023
Junior Member
Вариант с кодировкой 65001 тоже пробовал - те же грабли.
Re: Cтранный формат xml [сообщение #2808 является ответом на сообщение #2802] Sat, 22 July 2023 19:36 Переход к предыдущему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 368
Зарегистрирован: June 2022
Senior Member
В теме "Скрипт sql в xml" ответ посмотрите. Не туда ответил, ошибся
Предыдущая тема: SQL Server Diagnostic Information
Следующая тема: Скрипт sql в xml
Переход к форуму:
  


Текущее время: Sun Dec 22 18:34:17 GMT+3 2024

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