Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2011
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Error "Sin memoria" con Paradox y Delphi 2010

Hola gente de ClubDelphi, les escribo porque tengo un problema cuando ejecuto un proceso de una aplicación hecha con D2010.

En la mitad del proceso, hace sucesivas veces un Query sobre Paradox, lo recorre y lo almacena en una tabla de Paradox.

Esto lo hace correctamente hasta la mitad del proceso. En cada ciclo, se cierran y limpian los query y las tablas de trabajo.

Esta aplicación corre contra un servidor. Estuve revisando los parámetros del BDE y sospecho que puede tener relación con el SHAREDMEMSIZE que esta seteado en 4096. En mi PC lo tengo seteado como 8192 y cuando ejecuto el proceso con datos locales no tengo inconvenientes.

A alguien se le ocurre que puede estar sucediendo?

Desde ya, muchas gracias.
Responder Con Cita
  #2  
Antiguo 01-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hombre, así sin ver nada
¿Qué tal un poquito de código fuente?
Responder Con Cita
  #3  
Antiguo 01-06-2011
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Tienes razón.. mis disculpas..

Código Delphi [-]
/* CONSULTA SOBRE PARADOX */
qeResultado2.Active := false;
qeResultado2.SQL.Clear;
qeResultado2.SQL.Add('SELECT D.Tipo, D.Talonario, D.Nro, D.Cuenta, D.FechaVto, D.FechaAcr, '+
                     '       D.CodBco, D.NroExt, D.Importe, D.Origen, D.Estado, D1.Nombre '+
                     'FROM Valores D, Bancos D1 '+
                     'WHERE (D1.Codigo = D.CodBco) '+
                     'AND (D.Estado IN (100, 101, 102, 103, 104)) ');
qeResultado2.SQL.Add('AND D.FechaAcr >= ''' + FormatDateTime('mm/dd/yyyy', Date) + '''');
qeResultado2.Active := true;

/* CONSULTA SOBRE SQL SERVER */
sqlQueryDefaultAux2.Active := false;
sqlQueryDefaultAux2.SQL.Clear;
sqlQueryDefaultAux2.SQL.Add('SELECT Cliente, Zona '+
                            'FROM Cuentas.Clientes '+
                            'WHERE Zona IN (' + Zonas + ') ');
sqlQueryDefaultAux2.Active := true;

if not tbResultado2.Active then
   tbResultado2.Open;
tbResultado2.EmptyTable;
qeResultado2.First;
while not qeResultado2.Eof do
begin
   if sqlQueryDefaultAux2.Locate('Cliente', qeResultado2.FieldByName('Cuenta').AsInteger, []) then
   begin
      tbResultado2.Insert;
      tbResultado2.FieldByName('Tipo').AsString := qeResultado2.FieldByName('Tipo').AsString;
      tbResultado2.FieldByName('Talonario').AsInteger := qeResultado2.FieldByName('Talonario').AsInteger;
      tbResultado2.FieldByName('Nro').AsInteger := qeResultado2.FieldByName('Nro').AsInteger;
      tbResultado2.FieldByName('Zona').AsInteger := sqlQueryDefaultAux2.FieldByName('Zona').AsInteger;
      tbResultado2.Post;
   end;
   qeResultado2.Next;
end;

donde tbResultado2 es una tabla en Paradox donde quiero guardar la información que recupero.
Esto surge a raíz de que tengo que unir tablas que se encuentran en Paradox y SQL Server.
Aproximadamente qeResultado2 recupera 1700 registros que recorre y compara con un Locate contra el query en SQL Server.

El error "salta" después de numerosos bucles del while en if sqlQueryDefaultAux2.Locate('Cliente', qeResultado2.FieldByName('Cuenta').AsInteger, []) then.

Cualquier detalle consultame y trato de explicarlo mejor.
De paso te consulto, existe alguna forma de linkear tablas en Paradox con SQL Server y ahorrarme esto?

Desde ya, muchas gracias.
Saludos.
Responder Con Cita
Respuesta



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
Error de lectura de puerto serie "Memoria Insuficiente". clavijo83 ASM y Microcontroladores 7 07-04-2009 23:17:28
Error al LLamar un DLL, "memoria Insuficiente" clavijo83 Varios 0 02-04-2009 18:34:50
Error "Invalid field Type" entre Delphi 2007 y Firebird 1.5 saltamirano Varios 2 24-12-2007 23:38:07
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
Fast Report "Fuera de memoria" BECERRA Impresión 0 25-12-2005 12:40:29


La franja horaria es GMT +2. Ahora son las 06:49:33.


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