Fórum Cancelar a execução de uma stored procedure #417596

28/05/2012

0

Senhores,

Há um tópico idêntico a este na sala de Firebird que não foi respondido. Decidi criar um na sala Delphi. O contexto é:
. Planeja-se disparar uma stored procedure demorada (dezenas de milhares de registros);
. Deseja-se cancelar a execução da stored procedure, se estiver demorando muito;
. Entende-se que o cancelamento pode depender de recursos do SGBD. Informações a respeito são bem vindas;
. Acompanhar a execução da stored procedure: pode ser feito manualmente através de uma tabela específica no banco, com os devidos cuidados de visibilidade dos dados corretamente atualizados; caso alguém conheça recursos mais elegantes, informe;
. Isto eu sei: se a execução da stored procedure for disparada através de uma thread, esta deverá ter objeto de conexão específico.

Grato pela atenção.
José Silva

José Silva

Responder

Posts

29/05/2012

Bruno Leandro

uma ideia seria usar transação ai quando for acionado o cancelar seria executado o rollback, caso contrario o commit
Responder

Gostei + 0

29/05/2012

William

Colega vc pode usar em conjunto com a idéia do Bruno um contador interno no delphi, caso o sistema fique ocioso tantos minutos dispara o cancelamento da store procedure. Mas o contador ou a store tem que estar rodando com thread, senão trava tudo.
Responder

Gostei + 0

29/05/2012

José Silva

Perfeito, senhores. Os objetos StoredProc (ADO, BDE e DBX) possuem o método Cancel. O post foi criado porque um colega havia dito que não seria possível e o fiz antes de verificar os objetos. Grato pela atenção.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar