2015-07-13 2 views
0

Я нашел различные решения этой проблемы, но они, похоже, не работают. У меня есть запрос, который возвращает единственный результат, который содержит около 6 вложенных строк. Шероховатая форма:Как получить результат FOR XML FORO более 256 символов из SSMS?

<ItemGroup> 
    <Item /> 
    <Item /> 
    <Item /> 
    <Item /> 
</ItemGroup> 

с каждым элементом, имеющим около 8 элементов в нем. Я использую FOR XML AUTO, TYPE для создания XML. Запрос имеет nested query in it to produce the inner rows. Все идет нормально. Однако, когда я запускаю запрос, мой XML всегда обрезается с 256 символами. Первое предложение исправить это - изменить XML-данные на Unlimited (или 5MB, они оба должны быть адекватными) для его максимального размера возврата в Инструменты, параметры, результаты запросов, SQL Server, результаты для сетки, данные XML. Кажется разумным. Не работает.

Если я выход к сетке я получаю ошибку о незамкнутой строки:

unclosed literal

Моя следующая попытка исправить просто вывести результаты в файл. Я не вижу никаких вариантов изменения объема данных (макс.), Чтобы вернуться туда, поэтому я предполагаю, что он неограничен. Однако сброс результата в файл привел к той же самой проблеме: 1 строка х 256 столбцов в тексте результата.

Можно ли это исправить? Это ошибка в SSMS 2014? Точная версия - 12.0.2000.8. Следующим шагом будет просто отправить строки результатов на скрипт node.js и вместо этого обработать XML.

Редактировать: Я выполнил запрос через узел, и формирование, которое я делал с FOR XML AUTO, TYPE, явно искажено. Результат был 35 МБ. Но если я запустил запрос без форматирования, я получаю набор результатов из 9 строк. Тем не менее: я бы не смог понять это с помощью SSMS, даже при непосредственном выводе в файл.

+0

Вы пытались перезапустить SSMS после внесения изменений или, по крайней мере, открыть новое окно запроса? –

+0

hmm попробует это – jcollum

+0

wow проверить результаты (это не улучшение, но явно изменение): http://imgur.com/1r3unTy – jcollum

ответ

0

Прошел месяц, и я не получил от этого большого разрешения. Моим реальным решением было не использовать FOR XML AUTO, TYPE. Не потому, что он сломан, а потому, что слишком легко разобраться и привести к длительным циклам критической отладки. Лучше сформировать XML вручную (в узле в моем случае), если вам действительно не нужно понимать, как формировать XML в SQL. Прочитайте комментарии выше, если вам интересно, почему я так пошел.