Executar Função Interna

03/02/2006

Ai galera utilizo o SQl Server e D7, tenho uma roitna q faz o seguinte: todos os dias de manha quando chego eu executo ela. Ela verifica se todos os meus clientes possui Titulos em atraso os que tiverem ela Bloqueia o Cliente aquele q ta em dias ela Desbloqueia se for o caso, ela demora cerca de 3 a 5 minutos então eu gostaria q ela fosse rodada todos os dias de madrugada pelo servidor quando houvesse a virada do dia como fasso isso direto banco pq ela e feita no D7 e nao do SQL. Assim não tem problema de eu esquecer de roda-la e ela não ficara falha.


Marcal

Respostas

03/02/2006

Rjun

Não seria mais fácil você criar um job no sql server para executar alguma rotina que faça isso?


Responder Citar

03/02/2006

Marcal

RJun pode ser isso, mas nunca fiz isso antes usando Jobs tem como vc da um empurranzinho a função é essa ai:

While not(DmReceber.TableClientes.Eof) do
Begin
with DmReceber.QryPesqDocAtrasado do
Begin
Close;
Params[0].asDate := Date();
Params[1].asInteger := Trunc(DmReceber.TableClientesCodigo.value);
Open;
end;
If (DmReceber.TableClientesEmAtraso.value <> ´L´) and
(DmREceber.qryPesqDocAtrasadoQuantidade.value > 0) and
(DmReceber.TableClientesCodigo.value = DmReceber.qryPesqDocAtrasadoCliente.value) Then
Begin
DmReceber.TableClientes.Edit;
DmReceber.TableClientesEmAtraso.value := ´S´;
DmReceber.TableClientesDataLiberacao.value := StrToDate(´01/01/1980´);
DmReceber.TableClientes.Post;
end
else
Begin
DmReceber.TableClientes.Edit;
DmReceber.TableClientesEmAtraso.value := ´N´;
DmReceber.TableClientesDataLiberacao.value := Date();
DmReceber.TableClientes.Post;
end;
DmReceber.TableClientes.Next;
end;


Responder Citar

03/02/2006

Aroldo Zanela

Colega,

Entra no Enterprise Manager, expanda o Server Group, expanda o Data Transformation Services, clique com o botão direito do mouse sobre Local Packages e selecione New Package. É altamente intuitivo para criar um package, em seguida, basta agendar a execução.

Outra solução para o seu caso e criar um serviço no windows para ser disparado em determinado horário.


Responder Citar