forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Программируем (http://forum.rastrnet.ru/forumdisplay.php?f=35)
-   -   Параллельные вычисления в Оракле (http://forum.rastrnet.ru/showthread.php?t=44961)

ZiC_ 21.07.2008 10:41

Параллельные вычисления в Оракле
 
В общем система: Оракл 10 + Дельфи 7
Задача: Запустить на выполнение некую долгую процедуру, в программе в прогрессбаре выводить, насколько завершилась процедура.
Есть запрос, который показывает, насколько она завершилась
Собственно проблема: нужно запускать процедуру параллельно программе, иначе прога "виснет" до завершения выполнения процедуры.
Что я уже пытался сделать: запускал процедуру в отдельном потоке в дельфях (создавал класс, наследовал его от TThread). При этом все равно приложение зависает, хотя если вместо запуска процедуры поместить бесконечный цикл, то поток работает параллельно, остальной программе не мешает.
В чем я вижу решение: есть мысль, что в Оракле тоже должна быть возможность параллельного запуска процедуры. Гугл уже спрашивал, недоумевающе разводит руками... возможно плохо спрашивал
Джобы (Job) в Оракле использовать нельзя по религиозным причинам:)
Кто-нибудь может мне помочь?

ShAD 16.08.2008 14:09

а почему ащще аракл?

ZiC_ 18.08.2008 12:12

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


Текущее время: 13:10. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.