Форум: "Базы";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизError № 1038 Найти похожие ветки
← →
Ega23 © (2004-10-07 10:08) [0]Error № 1038 "Cannot use empty object or column names. Use a single space if necessary. "
Что за эксепшен? С чем едят? Первый раз столкнулся и не могу понять, в чём беда...
← →
Nikolay M. © (2004-10-07 10:23) [1]Сервер удаленный? Есть подозрение, что проблемы с настройками сети. Выдерни/воткни сетевой шнур и ipconfig /renew.
Ы?
← →
Nikolay M. © (2004-10-07 10:26) [2]Таблицу создаешь? ЕМ-ом?
← →
Ega23 © (2004-10-07 10:50) [3]Таблицу создаешь? ЕМ-ом?
Нет. Чуть попозже...
← →
Ega23 © (2004-10-07 11:13) [4]Короче, дело в следующем:
Есть некая ХП, которая на основании входных данных (а эти данные, в свою очередь - параметры фильтрации выборки с клиента) выбирает ID персонала во временную таблицу. После этого в ХП генерится "мощный" запрос по 6-ти таблицам с левым джоином впридачу. В конце этого запроса стоит " and PersID in (Select PersID from #tmpPers)".
Всё было хорошо, пока не добавился ещё один параметр - новое поле сортировки. В начальном запросе этого поля не было.
Добавляю - возникает вот такой эксепшн. Куда "рыть" - непонятно.
← →
Nikolay M. © (2004-10-07 11:18) [5]1) А если ради эксперимента вместо временной простую таблицу задействовать?
2) Все это, случайно, не в транзакции происходит?
3) А если вернуть в статус кво - все нормально становится?
← →
Ega23 © (2004-10-07 11:41) [6]1. пока не пробовал, возьму на заметку.
2. В смысле "В транзакции"? На клиенте запуск одной ХП; другое дело, что их этой ХП другие вызываются.
3. Угу.
← →
Nikolay M. © (2004-10-07 11:47) [7]А как новое поле называется? И какого оно типа?
QUOTED_IDENTIFIER чему равно?
← →
Ega23 © (2004-10-07 12:03) [8]
Set @SQLMain = "Select Distinct P.PersNam1,P.PersNam2,P.PersNam3, PF.ProfNam,
D.DepNam,P.PersTabNr,
Stat=case P.PersConstFl when 0 then "Временный" when 1 then "Постоянный" end,
P.BirthDat,P.PersPasp,P.PersAddress, P.PersNot,
P.PersWPhonNr,P.PersHPhonNr, P.PersDatOut, P.PersSexFl,
PA.FaceDat,PA.WeightDat,
HasCard=case when C.CArdId is null then "Отсутствует" else "Имеется" end,
FDat=case PA.FaceDat when 0 then "" else Convert(VarChar(10),PA.FaceDat,104) end,
WDat=case PA.WeightDat when 0 then "" else Convert(VarChar(10),PA.WeightDat,104) end,
P.PersID,P.DepCod,P.ProfCod,P.Pincode,
P.PersConstFl,O.OrgID, O.OrgNam, PA.Weight
from Persons P left Join Cards C on C.PersID=P.PersID,
Profs PF, Departs D, PersAdd PA, Orgs O
where P.ProfCod=PF.ProfCod and P.DepCod=D.DepCod and P.PersID>1
and P.PersID=PA.PersID and D.OrgID=O.OrgID
and P.persmsk=1 and P.PersID in (Select PersID from #X_PersID)"
set @sOrderBy = replace( @sOrderBy, "%Desc%", @DescParam )
set @SQLMain=@SQLMain+@sOrderBy
SET NOCOUNT Off
if @debug<>-1 Print(@SQLMain) else exec(@SqlMain)
drop Table #X_PersID
Это исходный запрос внутри ХП. Входной параметр @sOrderBy теперь стал " Order By D.DepOrd " (поле типа int). Соответственно, его надо включить в основную выборку. при включении - тот самый эксепшн.
← →
Nikolay M. © (2004-10-07 12:11) [9]И какой в результате текст формируется?
Случайно, пробел перед "Order By" не пропущен? Хотя вроде бы имеется...
А из QA запрос выполняется?
← →
Ega23 © (2004-10-07 12:24) [10]А из QA запрос выполняется?
Дык в том-то и дело, что нет. Т.е. это явно не клиентская ошибка.
Если @Debug=0 поставить, то выдаётся вполне приемлимый запрос. Но - не выполняется. Почему - абсолютно неясно.
А что самое непонятное - что Error № 1038 означает.
← →
Nikolay M. © (2004-10-07 12:32) [11]Места хватает? Транзакшен лог не раздулся? Похоже на то, что пытается отсортировать резалт-сет и обламывается из-за нехватки места.
Сервис-паки какие стоят?
← →
Ega23 © (2004-10-07 12:38) [12]Места хватает? Транзакшен лог не раздулся? Похоже на то, что пытается отсортировать резалт-сет и обламывается из-за нехватки места.
Сервис-паки какие стоят?
Вот как... Сейчас посмотрю...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c