Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.036 c
3-98960
Ежик
2002-12-09 12:43
2002.12.30
Передача в Excel


14-99265
kronprince
2002-12-11 11:17
2002.12.30
Ненавижу разбирать чужие исходники !!!


1-99168
Error
2002-12-18 15:35
2002.12.30
TListView


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


14-99316
Dyha
2002-12-10 12:13
2002.12.30
BiOS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский