![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование индекса
rus0303 © (2006-06-25 22:39:00)Как запустить выполняться операцию и не дожидаясь конца исполнения перейти к другим задачам. Все операции выполняются в СУБД ORACLE 9i. Помогите пожалуйста, очень срочно
Desdechado (2006-06-26 11:51:00) [1]> Сомневаюсь я однако, что это позволит распаралелить исполнение.
Поддерживаю сомнения. Автономные транзакции предназначены для независимых изменений в БД. Пока код не закончится, возврата не будет, имхо.
evvcom (2006-06-26 10:01:00) [2]> [12] Sergey13 © (26.06.06 09:52)
а хрен его знает, чего ему надо? Он спросил, как это ораклом сделать. Кстати, надо попробовать, действительно, будет ли распараллеливание? А то я такие вещи только на коротких транзакциях пробовал и естественно для других целей.
Sergey13 (2006-06-26 09:52:00) [3]> [10] evvcom © (26.06.06 09:47)
Сомневаюсь я однако, что это позволит распаралелить исполнение.
evvcom (2006-06-26 09:50:00) [4]> [10] evvcom © (26.06.06 09:47)
и если внутри MyProc используется DML, то не забыть commit; перед выходом.
evvcom (2006-06-26 09:47:00) [5]> [5] Bess (26.06.06 00:14)
create or replace procedure MyProc is
pragma autonomous_transaction;
begin
...
end;
ANB (2006-06-26 09:42:00) [6]
> Bess (26.06.06 00:14) [5]
Используй несколько сессий и в каждой выполняй запрос асинхронно. Но если будут блокировки - это не поможет (да и вообще ничего не поможет).
sniknik (2006-06-26 09:16:00) [7]Германн © (26.06.06 02:56) [7]
нет. просто неграмотность в русском языке.
Германн (2006-06-26 02:56:00) [8]
> sniknik © (25.06.06 23:21) [4]
Отрицание мягкого знака после шипящих твоё кредо? :-)
softservice (2006-06-26 02:53:00) [9]
> Народ нужно это сделать в самом Oracle !!!! Как там сделать
> так чтоб запустить выполенние операции и не дождавшись выполенния
> произвести другую ???!!!
Какую операцию сделать и какую запустить?
В общих чертах: Юзай джобики.
Bess (2006-06-26 00:14:00) [10]Народ нужно это сделать в самом Oracle !!!! Как там сделать так чтоб запустить выполенние операции и не дождавшись выполенния произвести другую ???!!!
sniknik (2006-06-25 23:21:00) [11]срочно не получится. и чем больше "ГОРИТ!!!" тем менее обучаем "клиент", проверено практикой.
судя по всему нужно сделать асинхронное выполнение... т.е. запустил запрос, и не дожидаясь начинаеш чтото другое делать. (???)
2 варианта, первый коппоненты которые это умеют - например ADO, настроить опцию выполнения на eoAsyncExecute, запустить и по ходу программы ловить событие onExecuteComplete (узнать что закончилось).
второй собственная реализация в потоке, внутри потока создаеш все нужные компоненты (практически почти неважно какие) иницализируеш, вносиш запрос, выполняеш, ждеш завершения. на основном потоке не отразится, он в этоже время занимается своими делами.
все. общие сведения кончились. ждем конкретных проблем, что не получается...
unknown (2006-06-25 23:19:00) [12]
> rus0303 (25.06.06 22:39)
> Как запустить выполняться операцию и не дожидаясь конца
> исполнения перейти к другим задачам. Все операции выполняются
> в СУБД ORACLE 9i. Помогите пожалуйста, очень срочно
Запустить выполнение в отдельном потоке. (TThread+F1)
> rus0303 (25.06.06 22:57) [2]
> Пожалуйста ответьте, очень срочно и очень надо. ГОРИТ!!!
Не стоит упоминать про срочность.
rus0303 (2006-06-25 22:57:00) [13]Пожалуйста ответьте, очень срочно и очень надо. ГОРИТ!!!
rus0303 (2006-06-25 22:42:00) [14]Ошибся здесь не использование идекса, а вопрос по выполнению задач