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

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

Одновременный запуск [D5, Oracle]


Yarus ©   (2002-11-01 10:28:00) 

Я работаю с БД Oracle. Возникла задача показывать процент выполнения хранимой процедуры на сервере. Но для этого мне необходимо одновременно запустить две процедуры. Вопрос: Как мне в Дельфи при каком-то событии одновременно запустить две процедуры? (Одна будет выполнять поставленную задачу, а другая опрашивать процент исполнения...)


Yarus   (2002-11-01 14:29:00) [1]

таймер не ведет обработку своего события пока не завершилась оракловая процедура...


AM   (2002-11-01 14:01:00) [2]

>> Yarus (01.11.02 11:59)
>> С таймером пробывал, он начинает отрабатывать только после
>> выполнения процедуры, а нужно одновременно...


А когда пробовал с таймером, создавал два разных соединения.

Первое отрабатывает процедуру.
А второе соединение для таймера.

Если нет, то попробуй так. Может заработает.


Yarus   (2002-11-01 13:44:00) [3]

Одна процедура ведет обработку, а вторая считывание с определенной таблицы


perov   (2002-11-01 13:03:00) [4]

как работает вторая процедура?


Yarus   (2002-11-01 13:01:00) [5]

Так как же решить эту проблему? Как можно сюда подвязать потоки?


Yarus   (2002-11-01 12:29:00) [6]

Ну надо же хорошо относиться к юзерам :-)))
Да и весь серверный код поддержки этой фишки есть... Не пропадать же ему?


perov   (2002-11-01 12:01:00) [7]

Да выведи ты им окошко, где будет написано, что отработка процедуры будет идти несколько минут. А после отработки сними его.
ЗЫ. У нас так и сделано. Все юзеры привыкли и не дергаются...


Yarus   (2002-11-01 11:59:00) [8]

Идет обработка данных, причем собирается статистика за 10-15 лет... Даже 2 процессорном серваке процедура отрабатывает несколько минут, а юзеры нетерпеливые...
С таймером пробывал, он начинает отрабатывать только после выполнения процедуры, а нужно одновременно...


Sergey13   (2002-11-01 11:51:00) [9]

Как вариант.
Можно, если процедура пакетная, менять в процедуре по ходу работы значение какой нибудь переменной этого пакета. А на клиенте опрашивать эту переменную по таймеру, например.

ИМХО
Стоит ли огород то городить для вывода процента? Он что, шибко важен?


perov   (2002-11-01 11:35:00) [10]

а если первая процедура будет уведомлять клиента через dbms_alert?


Val   (2002-11-01 11:33:00) [11]

В Demos\DB\bkquery есть пример работы с Query в потоках.
Можно похоже построить работу с StoredProc.


Yarus   (2002-11-01 11:17:00) [12]

А как это правильно оформить?


Val   (2002-11-01 11:17:00) [13]

Имеются ввиду нити/потоки - распараллеливание выполняемых действий. TThread - класс-оболочка.


Yarus   (2002-11-01 11:06:00) [14]

Я не спец в Дельфи... Не могли бы подсказать?


Val   (2002-11-01 11:02:00) [15]

TThread?


Yarus   (2002-11-01 10:58:00) [16]

Для этого реализован механизм сбора информации средствами Oracle, осталось все подставить в программную оболочку...


perov   (2002-11-01 10:33:00) [17]

а как другая будет опрашивать процент испольнения?


Наверх

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