Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

ClientDataSet -> OraProvider -> StoredProc -> ORACLE   Найти похожие ветки 

 
BorisUK ©   (2002-12-10 11:10) [0]

Вопроса два...
Оба обсуждались, но не помню до чего дообчуждались и не могу найти эту ветку...

1. Программа очень долго делает первое обращение к хранимой процедуре
2. Как сделать прогресс бар показывающий процесс наполнения датасета данными... Или просто появляющийся на вермя выполнения запроса.

По первому вопросу делаю FetchParams при запуске проги и Prepare при создании экземпляра RemoteDataModule.

По второму случаю можно просто показывать каккунить анимашку типа (Поиск файлов или какталогов), но хотелось бы снабдить пользователя примерно точными данными о прохождении процесса...

Можно ли?
С благодарностью выслушаю :)


 
Johnny Smith ©   (2002-12-10 11:25) [1]

Второе вряд ли возможно стандартными методами - Оракл сам не знает, сколько строк от выдаст во время запроса. В OCI есть такой параметр как OCI_ATTR_ROWS_FETCHE, так вот даже он возвращает количество фактически прочитанных строк.


 
Sergey13 ©   (2002-12-10 11:25) [2]

1. Попробуй объединить свои хп в пакет и работать с ним (если еще не сделал этого).
2. ИМХО, нельзя, а если и можно то сложно и поэтому не нужно. Да и кому нужны эти "примерно точные данные" - лучше картинку прикольную показывай(еще лучше картинки меняй каждый раз - юзер вообще не оторвется от монитора 8-).


 
BorisUK ©   (2002-12-10 11:45) [3]

Sergey13 © А что дает объединение в пакет?
Кроме удобства хранения :)

У меня все объединены в пакет, но одна вынесена...
Вернее одна вынесена почему что в пакете компилится не хотела.


 
Sergey13 ©   (2002-12-10 12:01) [4]

2BorisUK © (10.12.02 11:45)
>У меня все объединены в пакет, но одна вынесена...
Не та ли самая?
Пакет загружается в память весь при первом обращении к нему и при повторнных обращениях экономится время на загрузку. В твоем случае можно попробовать сразу после коннекта отрабатывать какую нибудь "пустую" процедуру - это позволит гарантировано загрузить в память нужную.


 
BorisUK ©   (2002-12-10 12:39) [5]

Too Sergey13 ©
Да она самая...
Шестнадцать внешних параметров и еще около двадцати внутри подставляются в зависимости от многих условий...
Прогнать её впустую... не знаю, может не получится....

Ну я так понял Fetch ей не помогает особо...
Буду пробовать тогда запихать всетаки её в пакет если пактные процедуры действительно все скопом потом инициируются то может помочь :)
Спасибо.


 
Sergey13 ©   (2002-12-11 10:29) [6]

2BorisUK © (10.12.02 12:39)
Too Sergey13 ©
>Да она самая...
>Прогнать её впустую... не знаю, может не получится....
Да не ее "впустую", а другую пустышку. Ну сделай там какую нибудь процедурку типа
select 1 from dual
и больше ничего. И после коннекта вызови ее. Этот вызов гарантировано загрузит и твою большую процедуру в память.





Страницы: 1 вся ветка

Текущий архив: 2002.12.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.15 c
3-98959
Кузя
2002-12-09 12:06
2002.12.30
Помогите найти ошибку при вставке данных в базу (SQL)


1-99067
Александр74
2002-12-19 11:09
2002.12.30
Как сделать предачу данных в Exel???


1-99176
Роман Витов
2002-12-17 19:48
2002.12.30
окна


14-99353
Dmitriy Polskoy
2002-12-11 11:15
2002.12.30
Norton Disc Doctor для Win 2k


1-99148
oleg_apmath
2002-12-18 13:35
2002.12.30
XML & Delphi