Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO, QReport, ;SQL ;и хранимые процедуры [D6, MSSQL]


Dan ©   (2003-06-27 10:24:00) 

Помогите, пожалуйста.
Делаю отчет QReport. Связываюсь с базой SQL через ADO. Точнее, у меня есть хранимая процедура с параметрами, вот с ней-то я и хочу связаться, получить с ее помощью данные, а потом использовать их в QReport. Пытаюсь использовать ADOStoredProc. Вроде настроила, когда выбираю Active := True (в Object Inspector) сначала долго жду, а потом появляется ошибка - Timeout Expired.
В чем дело? Может вообще нельзя никак использовать ADOStoredProc в QReport? Или дело в хранимой процедуре? Хотя в SQL Query Analizer при ее запуске выбираются данные, которые мне нужны? А в ADOQuery можно вызывать хранимые процедуры или писать запросы с union?
Может вообще я использую неправильный подход?
Помогите новичку.
Заранее спасибо.


Dan   (2003-06-27 12:41:00) [1]

А почему к созданной view так долго идет запрос?


Семен Сорокин   (2003-06-27 12:32:00) [2]

В QA выборка длилась 12 минут и так и не выбралось
запрос пересмотреть, индексы добавить, использовать хранимую процедуру


Dan   (2003-06-27 12:29:00) [3]

Семен Сорокин ©
большое спасибо за внимание. Судя по всему - дело в сервере. Вот только не знаю, можно как-то средствами ADOConnection или Delphi что-нибудь сделать? Может будут какие-то советы?
В QA выборка длилась 12 минут и так и не выбралось - у меня терпения не хватило.


Dan   (2003-06-27 12:18:00) [4]

Простые запросы с задержкой, но работают. А вот такой:

select name_uchrej,name_kr,name_kat,count(famil) as kolvo from w_otch_period_ygd
where id_aktivgod=2 and date_inp between "2003-01-01" and "2003-06-30"
group by name_uchrej,name_kr,name_kat
union
select name_uchrej,name_kr,type_pip,count(famil) as kolvo from w_otch_period_pens
where id_aktivgod=2 and date_inp between "2003-01-01" and "2003-06-30"
group by name_uchrej,name_kr,type_pip
union
select name_uchrej,name_kr,type_pip,count(famil) as kolvo from w_otch_fam_ygd
where id_aktivgod=2 and date_inp between "2003-01-01" and "2003-06-30"
group by name_uchrej,name_kr,type_pip
union
select name_uchrej,name_kr,type_pip,count(famil) as kolvo from w_otch_fam_pens
where id_aktivgod=2 and date_inp between "2003-01-01" and "2003-06-30"
group by name_uchrej,name_kr,type_pip

или вот такой (создана view на основе предыдущего запроса w_allotch)

Select * from w_allotch

тоже не пашет, даже в QA, хотя вчера было все нормально (в QA по крайней мере).


Семен Сорокин   (2003-06-27 12:08:00) [5]

сделай простой запрос вместо сложного твоего, если опять тоже - значит проблема не в запросе, а в строке твоего коннекта.


Dan   (2003-06-27 12:00:00) [6]

Семен, подскажите, как избежать или обойти ошибку Timeout Expired?
Запрос сложный, соединение оставляет желать лучшего. Вчера в SQL Query Analazer"е все работало превосходно, мигом выдавались результаты, а сегодня - просто жуть какая-то.


Семен Сорокин   (2003-06-27 10:59:00) [7]

а потом появляется ошибка - Timeout Expired.
может нет коннекта
Может вообще нельзя никак использовать ADOStoredProc в QReport?
можно
А в ADOQuery можно вызывать хранимые процедуры или писать запросы с union
хранимые процедуры - нет, union - да


Наверх

Титульная страница Поиск, карта сайта Написать письмо