Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: eddy16391 - Dicembre 10, 2018, 05:14:35 pm
-
Ciao a tutti,
sto utilizzando il componente TCVSExporter per esportare quello che mi viene presentato in una query in un file CSV, il problema è che essendo quasi 500k righe l'applicazione va in errore perchè viene esaurita la memoria RAM.
Esiste un componente più smart per fare l'export in CSV?
Grazie mille!!
-
essendo tutte quelle righe forse l'approccio migliore è di loopare su un dataset (meglio se unidirezionale) e poi generare il record CSV con la Format
-
Ma quindi intendi andare a leggere riga per riga e scrivere "a mano" il file CSV?
-
si, diciamo che la soluzione più artigianale ma più performante
in alternativa puoi provare con fpspreadsheet che vanno alla grande
http://wiki.freepascal.org/FPSpreadsheet#Reading_and_writing_of_CSV_files (http://wiki.freepascal.org/FPSpreadsheet#Reading_and_writing_of_CSV_files)
-
Ok, grazie. Provo la soluzione "artigianale" poi se non dovessi riuscire provo l'altro plugin, anche se non riesco a capire come funziona. Non è che conosci qualche tutorial che spiega come utilizzarlo?
Grazie ancora!!
-
il codice di esempio è nella stessa pagina, cerca
Converting a large database table to a spreadsheet using virtual mode
Edit:
Leggi prima "Virtual mode", è proprio il tuo caso
-
Grazie per le dritte, alla fine ho risolto con il metodo "artigianale". :-D