Ver Mensaje Individual
  #1  
Antiguo 08-02-2013
code88 code88 is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 5
Reputación: 0
code88 Va por buen camino
Lentitud con ClientDataSet.XMLData en Servicio Datasnap

Buen día gente.
Me ha surgido un inconveniente al desarrollar una aplicación que permita sincronizar bases de datos entre una PC y un servidor, del cual se actualizará el resto de las PC.
Para transmitir los datos que necesito actualizar, almaceno una consulta en un ClientDataSet y envio el contenido de la propiedad XMLData. El problema me surge cuando lo asigno a un nuevo ClientDataSet en el Servicio DataSnap ya que los XMLData son bastante pesados (10 MB, 40 MB, etc) y la asignación llega a tardar 5 o 10 minutos. Ahora bien, si esto mismo lo hago en un servidor Datasnap VCL la asignación es instantanea.
Alguien sabe cual puede ser la causa / solución?

Les dejo el bloque de código que me da problemas:

Código Delphi [-]
//EN EL SERVICIO CLIENTE 
var
  stXMLData: string; 
  cdsNuevoDatos: TClientDataSet;  

begin 
//realizo las consultas y asigno al cds 
cdsNuevosDatos.Open; 
stXMLData := cdsNuevosDatos.XMLData; 
//mas codigo 
end; 

//EN EL DATASNAP RECIBO EL XMLData 
procedure prActualizarTabla(pstXMLData: string); 
var
  cdsNuevosDatos: TClientDataSet;
begin
//algo de codigo
cdsNuevosDatos := TClientDataSet.Create(Self);
//el string son unos 11MB y tarda mas de 5 min en la prox linea
cdsNuevosDatos.XMLData := pstXMLData; 
//mas codigo
end;
Responder Con Cita