Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-08-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Tiempo excedido

Tengo una rutina que hace un update en una tabla de banco. Que pasa es que estas tablas tiene muchos registros. Una com 60.000.000 y otra con 5.000.000. La que yo voy a actualizar es la de 5.000.000, pero basada en la que tiene 60 millones. Yo pongo uno registros apenas y quando me voy a actualizar, me lo da el erro: TIEMPO EXCEDIDO. Hay como permitir que mi programa lo haga con el tiempo que for necesario? Uso:
Delphi 6, MsSql Server 2005 y ADO. Abajo mi rutina:

Código Delphi [-]
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;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tiempo excedido Paulao Varios 2 15-08-2011 22:20:20
ProgressBar+tiempo en hacer POST HTTP BlackDaemon Internet 18 04-05-2007 01:24:14
controles en tiempo de ejecución verlos como si estubieran en tiempo de diseño gulder Varios 7 21-04-2007 22:57:30
IBDatase Insert Post Edit Post ariefez Firebird e Interbase 4 12-10-2005 01:53:04


La franja horaria es GMT +2. Ahora son las 05:52:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi