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

Вниз

асинхронный запуск StoredProc через TADOCommand   Найти похожие ветки 

 
tyo   (2006-03-29 21:31) [0]

Запускаю оракловую процедуру асинхронно через TADOCommand и одновременно Thread чтобы "поймать" окончание процедуры. Вроде все работает. Однако при попытке запустить точно такую же процедуру на др. сервере -- почему-то серверная процедура не срабатывает, хотя клиент в exception не вываливается (На обоих серверах все идентично, напрямую из sqlplus процедура работает на обоих). Никаких мыслей нет...

дельфийский код примерно такой:

with MyCommand do
begin
  CommandType:=cmdStoredProc;
  CommandText:="ORACLE_STORED_PROC";
  ExecuteOptions=[eoAsyncExecute];
  MyThread:=TMyThread.Create(FALSE);
  Execute;
end;

TMyThread.IsFinished;
begin
  try
    if not (stExecuting in MyCommand.States) then
    begin
       Terminate;
       ShowMessage("Наконец-то доработала");
    end;
  except
    ShowMessage("Какая-то фигна с процедурой");
  end;
end;

TMyThread.Execute;
begin
 repeat
   sleep(100);
   Synchronize(IsFinished);
 until false;
end;


 
sniknik ©   (2006-03-29 21:47) [1]

событие окончания команд есть у коннекта


 
tyo   (2006-03-29 21:58) [2]


> событие окончания команд есть у коннекта


Если даже ловить окончание процедуры по событию коннекта -- какая разница, процедура-то все равно не срабатывает из-под дельфийского клиента (суть процедуры -- шарит по неск. таблицам и затем еще в одну таблицу пишет). А из sqlplus -- срабатывает. И на др. сервере из-под того же дельфийского клиента -- тоже.
Мистика какая-то. :(


 
tyo   (2006-03-30 09:17) [3]

Нашел! Ой блин, идиот... У меня в проге было 2 коннекта, один для синхронных вызовов, другой для асинхронных. При переходе на др. сервер синхронный коннект перенацелил на него, а асинхронный -- забыл.
Идиёт.



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
8-1132141916
Syrnik
2005-11-16 14:51
2006.04.16
BT848 - захват с нескольких входов в DSPack


5-1129233940
auz
2005-10-14 00:05
2006.04.16
Когда вызывается TCustomControl.Paint если компонент из *.dfm


2-1144170980
dimak-2k
2006-04-04 21:16
2006.04.16
Перевод String to Hex?


4-1138189970
Dr.Karter
2006-01-25 14:52
2006.04.16
Закрытие других приложений


3-1140679150
ViktorZ
2006-02-23 10:19
2006.04.16
Unknown type параметра.