Форум по программам и оборудованию > > >

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

23.05.2018 2:30


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

Т.е. в 99 случаях из ста - будет работать и без order by, но вот... Вот :)
Проблема решена, просто решил отписать, думаю, многим может пригодиться.
Опции темы


Часовой пояс GMT +3, время: 02:30.

 

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