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

Вниз

Нужно запустить ХП в отдельном потоке   Найти похожие ветки 

 
alextov   (2004-04-22 14:10) [0]

ХП долго выполняется, хочу чтоб Хранимая Процедура отработала в отдельном потоке и не мешала юзеру.
Соответственно пишу в юните потока:

procedure TMyThread.Execute;
var SP: TORaStoredProc;
begin
 freeOnTerminate:=true;
 SP:=ORaStoredProc.Create;
 SP.StoredProcName:="MY_PROC";  
 SP.Prepare;
 SP.Execute;
end;

В главном юните:
procedure TForm1.Button1Click(sender:Tobject);
var thrd: TMyThread;
begin
 thrd:=TMyThread.Create(false);
end;

Поток запускается, ХП запускается, но приложение не реагирует ни на что, пока не завершится выполнение ХП.

Подскажите,плз, где я неправ ...


 
Reindeer Moss Eater ©   (2004-04-22 14:12) [1]

Наверное ты не весь код нам показал. Тот что в главном юните


 
alextov   (2004-04-22 14:40) [2]

Действительно, код несколько сложнее, я выбросил из него немного второстепенных деталей потому, что писал по памяти.
Я попробовал откомпилировать приведенный здесь код - и что самое интересное - он работает !!!
Значит проблемы в деталях, но к сожалению исходников под рукой сейчас нет, так что предлагаю вернуться к этому вопросу завтра, когда я помещу здесь оригинальный глючный код :))


 
Digitman ©   (2004-04-22 14:57) [3]

procedure TMyThread.Execute;
var
SP: TORaStoredProc;
begin
freeOnTerminate:=true;
try
 SP:=ORaStoredProc.Create;
 try
  SP.StoredProcName:="MY_PROC";  
  SP.Prepare;    
  SP.Execute;
 finally
  SP.Free;
 end;

except
end;

end;

хотя это и не принципиально в плане проблемы, но рано или поздно "грабли выстрелят"


 
Reindeer Moss Eater ©   (2004-04-22 15:03) [4]

try
SP:=TORaStoredProc.Create;

Да этот код вообще в блокноте писался


 
Курдль ©   (2004-04-22 15:22) [5]

А Вам нужно ожидать каких-то возвращаемых значений от ХП, или просто запустить процесс на серваке?
Тогда авось поможет TOracleQyery у которого в SQL.Text прописан вызов ХП...



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
3-1079417798
EvgeniyR
2004-03-16 09:16
2004.04.11
StoredProc через Query


6-1079792117
Ihor
2004-03-20 17:15
2004.04.11
Delphi&LAN


14-1079720341
Goida
2004-03-19 21:19
2004.04.11
Решил поступать в аспирантуру и призадумался.....


3-1081952112
pashaz
2004-04-14 18:15
2004.04.11
Как узнать, что за база ?


1-1079954907
K.A.T.
2004-03-22 14:28
2004.04.11
Ошибка в процедуре