Чтобы прочитать xml, который вы сохранили внутри столбца BLOB-объекта (например, varbinary
), вы можете использовать CONVERT
:
select CONVERT(xml,(CONVERT(varbinary(max),DOCUMENT)))
from TBDOCUMENTS
where DOCUMENTURL='...'
Теперь вы можете записать эту строку в файл XML.Я думаю, что SQL Server, вероятно, не подходит для этой задачи;тем не менее, существует множество методов для достижения этой цели, например, с помощью bcp (дополнительная информация здесь и здесь )
Как указано в комментариях, ошибка, связанная с DTD, может возникнуть, когдаиспользование CONVERT
:
Разбор XML с внутренними DTD не разрешен.Используйте CONVERT со стилем 2, чтобы включить ограниченную поддержку DTD для внутреннего подмножества.
В этом случае использование опции xml-styles команды CONVERT
(подробнее здесь ) решает проблему:
select CONVERT(xml,(CONVERT(varbinary(max),DOCUMENT)), 2)
from TBDOCUMENTS
where DOCUMENTURL='...'