![]() |
Guardar en una variable el contenido de 100000 registros obtenidos con ZeosLib
Tengo este código para meter en un AnsiString el contenido de 100000 registros:
Código:
while not zquery1.Eof do Utilizo zeoslib para acceder a una base de datos MySQL. ¿Qué hago mal? |
¿en un AnsiString? :confused::confused:
Yo creo que sería mejor que los guardaras en un Dataset... un Ttable, TClienteDataset o una tabla en memoria... ¿para que quieres guardar 100,000 registros en una variable? Tal vez si nos platicas para que quieres hacer eso, a alguien se le pueda ocurrir alguna otra forma que sea más sencilla. |
Para luego enviar dicha información a un cliente.
Esa información ya está guardada en una base de datos, yo quiero sacarla, almacenarla en memoria principal y enviarla a un cliente. |
si ya la tienes en la base de datos, ¿para que la quieres guardar en una variable? Puedes obtener los 100,000 registros con un TQuery (dataset), luego generar un archivo de texto, de excel o pdf recorriendo ese TQuery y ya solo mandarías el archivo que generes...
pero repito, ¿para que los quieres guardar en una variable? |
Mando texto plano por sockets TCP, no mando archivos de texto.
|
Pues supongo que igual podrías recorrer el mismo dataset e ir enviando los datos directo de ahí, vamos, que sigo sin ver la necesidad de guardarlo en una variable. Pero desconozco el tema de sockets, así que estaría adivinando.
habría que esperar a ver si alguien tiene una mejor idea. |
Siguiendo con tu idea de enviar los datos de esa manera... ¿Por que no envías varios paquetes (registro por registro, dentro del ciclo while) y cuando termines mandas un texto identificador (se me ocurre "EOF", quiensabe por que) para indicarle al receptor que ya terminaste...
Aunque también podrías (yo lo haría) primero crear un archivo xml en el lado del servidor (para que tengas orden en tus datos), guardarlo y después enviarlo. No se me ocurre por que esto no podría funcionar pero tu lo sabes mejor que nosotros. Suerte en ello. |
Cita:
Yo hubiera optado por exportarlos a algun formato (que siga siendo estructurado y que te facilite luego otros procesos), DBF, MDB, XML,... Cita:
PRUEBA: He hecho un sencilla prueba con 10.000 (10% de lo que vas a hacer tú); He exportado a TXT y luego he comprimido a ZIP. El resultado, como era de esperar, es apreciable en el tamaño de los ficheros. ![]() Si finalmente envías la información comprimida (yo lo haría así), entonces no tiene ventajas convertirla a TXT. |
La franja horaria es GMT +2. Ahora son las 07:35:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi