Я борюсь с этим почти через неделю и до сих пор не нашел решения -.-Использование SQL Server «FOR XML»: преобразовать результат в Datatype в текст/varchar/string?
Моя цель - получить XML-код от SQL Server, запросив с помощью инструкции «FOR XML», принимая этот XML как строка/поток для перехода к XSLT Transformer и представления результата в виде HTML.
Бедность в этом - это среда веб-сервера, которую я должен использовать: IBM Domino 8.5.2, которая обычно использует базы данных Lotus Script и Lotus Notes для генерации веб-сайтов.
Но теперь производительность баз данных Notes достигла своего тупика, когда речь заходит о больших базах данных, таких как наш сайт, попадающий в статистику, в котором хранятся миллионы обращений в виде наборов данных. Таким образом, мы решили перейти на сервер mssql2008, который быстрее предоставляет пользовательские отфильтрованные результаты.
Мне действительно удалось установить соединение с SQL Server, отправить запрос и получить результат в виде xml. Но сейчас? :) Кажется, что SQL Server предоставляет свои «для xml» -зараженные результаты как своего рода странный тип данных двоичных кодированных символов, которые не имеют смысла при их печати или сохранении в файл. И Lotus Script (почти VBScript), похоже, не имеет возможности обрабатывать этот тип данных xml.
Я старался изо всех сил, чтобы найти результат - Lotus построен в ODBC-классе, LCConnection через OleDB, ADO-соединение через OleDB ... но каждая попытка заканчивается кучей нечитаемых данных.
Я мог представить себе веб-сервис между Domino и SQL Server, готовя данные как строку для моего сценария domino, но это лишние накладные расходы, которые я бы хотел избежать.
Можете ли вы указать в sql-заявлении, какой тип данных вы хотите получить в результате xml? точно так же, как cast()/convert() для полей, но для всего xml-результата? Чтобы я мог просто прочитать результат в виде поля text/varchar?
Thx, Крис
отлично! именно то, что мне нужно! Я уже думал о чем-то подобном, а также пробовал, но все, что я сделал неправильно, я забыл о первом дополнительном «выборе»: P Некоторые вещи могут быть такими легкими, thx много – tunefish
Thank's! это помогло мне –
Обратите внимание, что этот метод также работает с 'FOR JSON PATH'. Спасибо за совет! –