Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > MS SQL

Ошибка 6833. Идентификатор родительского тега %d отсутствует среди открытых тегов. FOR XML EXPLICIT : MS SQL

08.10.2024 17:54


04.06.2013 15:49
Работала, работала себе хранимка, пока не начала валиться с ошибкой
Цитата:
Идентификатор родительского тега %d отсутствует среди открытых тегов. FOR XML EXPLICIT сначала требует открытия родительских тегов. Проверьте порядок следования результирующего набора.
Облазил весь интернет, на русских форумах - пустота, на забугорных сайтах - что-то пишут, но единственное решение, которое людям помогало - вместо FOR XML EXPLICIT испльзовать FOR XML PATH. MSDN тоже не помог.
Пришлось временно ограничивать выборку данных в хранимке, благо бизнес процессы позволяли.
Однако, прошло время, и появилось необходимость эти данные таки использовать.
Хранимки аккуратно переписали, но начал периодически вылезать этот странный баг - притом, весьма спонтанно и необъяснимо.
Оказалось все очень просто, всего лишь нужно перед FOR XML EXPLICIT
написать ORDER BY столбцы тегов.

Т.е. в 99 случаях из ста - будет работать и без order by, но вот... Вот :)
Проблема решена, просто решил отписать, думаю, многим может пригодиться.
Часовой пояс GMT +3, время: 17:54.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.