Fórum Erro de tempo excedido #406580

15/08/2011

0

Fiz uma rotina para rodar um script de banco. Esse script é demorado mesmo, mas o que passa é que ele sempre dá tempo execdido? Tem como alterar isso? Como eu faço para aumentar esse tempo durante a execução? Uso Delphi 6, ADO e Sql Server 2005. Abaixo o meu código:
procedure TfrmMain.AtualizaTabela;
var
  sql,
  tabela: String;
  qry,qry_carga: TAdoQuery;
  dts: TDataSource;
  arq: TextFile;
  incrementa:integer;
begin
  incrementa := 0;
  if rgBanco.ItemIndex = -1 then
  begin
    MessageDlg('Selecione uma opção de Forma de Execução',mtInformation,[mbok],0);
    Exit;
  end;
  AssignFile (arq, 'D:\Logs\Log_Erro_Update.txt');
  Rewrite (arq);
  qry := TAdoQuery.Create(nil);
  qry.Connection := DM.Conn;
  dts := TDataSource.Create(nil);
  dts.DataSet := qry;
  Grid.DataSource := dts;
  if ComboBox1.Text <> '' then
    tabela := ComboBox1.Text;
  bAtualiza_tudo  := rgBanco.ItemIndex = 0;
  DM.qryAtualiza.Sql.Clear;
  if (rgBanco.ItemIndex = 1) and (edtQtde.Text <> '') then
    DM.qryAtualiza.Sql.Add('select top ' + edtQtde.Text + ' * from conhecimento_carga where data_emissao_conhecimento = ''1899-12-30 00:00:00.000''');
  DM.qryAtualiza.Open;
  sql := Memo1.Lines.Text;
  pb.Max := DM.qryAtualiza.RecordCount;
  pb.Position := 0;
  DM.qryAtualiza.First;
  while not DM.qryAtualiza.Eof do
  begin
    try
      DM.Conn.BeginTrans;
      //sql := sql + DM.qryAtualiza.FieldByName('numero_conhecimento').AsString;
      qry.SQL.add(sql);
      qry.ExecSQL;
      DM.Conn.CommitTrans;
      pb.Position := pb.Position + 1;
      inc(incrementa);
      DM.qryAtualiza.Next;
    except
      on E: Exception do
      begin
        writeln(arq, DateToStr(Now) + ' - ' + E.Message);
      end;
    end;
  end;
  DM.qryAtualiza.Close;
  CloseFile(arq);
end;
Pjava

Pjava

Responder

Posts

15/08/2011

Pjava

Resolvi. É que faltava eu comparar os registros da query do loop com a query que seria atualizada. Criei uns parametros e carreguei com a query do loop e agora funcionou.
Responder

Gostei + 0

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

Aceitar