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
[-]
var
stXMLData: string;
cdsNuevoDatos: TClientDataSet;
begin
cdsNuevosDatos.Open;
stXMLData := cdsNuevosDatos.XMLData;
end;
procedure prActualizarTabla(pstXMLData: string);
var
cdsNuevosDatos: TClientDataSet;
begin
cdsNuevosDatos := TClientDataSet.Create(Self);
cdsNuevosDatos.XMLData := pstXMLData;
end;