powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при выполнении запроса
7 сообщений из 7, страница 1 из 1
Ошибка при выполнении запроса
    #32007112
Andrey_Sychev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь выполнить запрос:

set dateformat 'dmy'
go
select op.cdk, pe.idpeople, ob.godokon,
'a9' = count(case when ob.cdobrazov in (50,80,90) then pe.idPeople else null end),
'a10' = count(case when ob.cdobrazov = 40 then pe.idPeople else null end)
FROM vw_PeopleWorkP pe
INNER JOIN vw_Oplata op ON pe.idWorkP = op.idWorkP
INNER JOIN vw_Ceh ce ON pe.idceh = ce.idceh
INNER JOIN vw_SprProf pr ON pr.idSprProf = op.idSprProf
INNER JOIN vw_Obrazov ob ON ob.idpeople = pe.idpeople
WHERE
pe.ident=1 and
(pe.DateOkon is null or pe.dateNach <= pe.DateOkon) and
(op.DateOkon is null or op.dateNach <= op.DateOkon) and
pe.cdperem <> 2 and
pe.dateNach < dateadd(dd,1,'28.05.2001') and
isnull(pe.DateOkon,dateadd(dd,1,'28.05.2001')) >= dateadd(dd,1,'28.05.2001') and
op.dateNach < dateadd(dd,1,'28.05.2001') and
isnull(op.DateOkon,dateadd(dd,1,'28.05.2001')) >= dateadd(dd,1,'28.05.2001') and
ob.GodOkon <= datepart(yy,'28.05.2001') and
--ob.godokon=(select MAX(oo.godokon) from vw_obrazov oo where oo.idpeople=pe.idpeople) and
ob.cdobrazov in (40,50,80,90)
group by op.cdk, pe.idpeople, ob.godokon
order by op.cdk, pe.idpeople, ob.godokon

Сервер возвращает:
This command did not return data, and it did not return any rows

DB-Library Process Dead - Connection Broken

Подскажите пожалуйста, при каких обстоятельствах возникает подобная ошибка?
Заранее благодарен!
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007127
Epanch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы не указали версию сервера. У меня на 6.5 такое происходило при сложных запросах. Пришлось смириться и упрощать, разбивать и т.д.
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007141
Andrey_Sychev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия сервера именно 6.5
Но запросы и посложнее бывали - так ведь работают
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007234
Подозрение падает на 2 момента:
1. Сложный запрос со сджойнеными вьюхами. Проблемы эти наблюдал как в 6.5, так и в 7.0. Лечение - переписать запрос, чтобы вьюх не было (их надо развернуть в этот запрос). Также может помочь раскидка запроса на несколько простых во временные таблички и итоговый селект по этим вр. табличкам. Иногда такое и весьма ускоряет запрос, так как простые запросы можно написать крайне эффективно.
2. Алиасы полей а9 и а10 заключены в апострофы. Сервер по идее их должен расценивать как строковые константы и выдавать синтаксическую ошибку, которую почему-то не дает, а молча охреневает от такого синтаксиса.
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007252
Epanch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Сложный запрос со сджойнеными вьюхами

Точно, точно. Только я так надеялся, что в семерке этого нет.
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007278
>> Сложный запрос со сджойнеными вьюхами

> Точно, точно. Только я так надеялся, что в семерке этого нет.

Я вынужден тебя огорчить. В семерке этого больше.

Когда я переводил свой проектик с 6.5 на 7.0, некоторые запросы перестали работать с выдачей сообщения 'Internal Server Error', хотя до этого они работали без проблем. Не любит семерка сложные запросы по вьюхам, особенно, если одна и та же вьюха учавствует в запросе больше одного раза. А также семерка не любит сложные запросы с подзапросами с содержащимися в них операторами case (ошибка признана микрософтом), тоже с сообщением 'Internal Server Error'.
Хотя в целом семерка на порядок стабильнее и лучше.
...
Рейтинг: 0 / 0
Ошибка при выполнении запроса
    #32007357
Andrey_Sychev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за пояснения!
Вы пролили свет на это загадочное явление.
До того как использовался вид - все работало нормально, но это не просто вид - им обеспечивается доступ к информации для каждого пользователя. Видимо придется разбивать запрос.
Еще раз большое спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при выполнении запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]