Hallo Forumsteilnehmer,
ich brauche für meine Client-Anwendung eine Funktion, die das
Exportieren von Tabellendaten im
CSV-Format ermöglicht. Da ein Select
* auf eine sehr große Tabelle dazu führt, dass der Client erstmal
längere Zeit gar nichts macht, wollte ich die Daten in mehreren
Durchläufen abwechselnd auslesen und auf die Platte schreiben.
Ich habe mich Serverseitig bereits schlau gemacht und mir folgenden
Code zurechtgebastelt:
Code:
spool c:\test
declare
cursor c1 is
select * from F_VBO_DC_OVERVIEW;
type t_records is table of F_VBO_DC_OVERVIEW%ROWTYPE;
records t_records;
begin
open c1;
loop
fetch c1 BULK COLLECT INTO records LIMIT 5;
for i in 1..records.count loop
dbms_output.put_line(records(i).MARKET_SHARE_PYM);
end loop;
exit when c1%notfound;
end loop;
close c1;
end;
/
spool off
Statt einem Spool in eine Datei will ich aber die Daten zur
Clientanwendung übertragen und dort sequentiell weiterverarbeiten vor
dem Speichern. HAt jemand eine Idee, wie ich das anstellen könnte? Ich
bräuchte sozusagen eine konstante Verbindung zur Datenbank während des
Fetchvorgangs mit Übertragung der Zwischenergebnisse... Als
DAtenbankkomponenten verwende ich die ODAC-Komponente von CoreLab, es
täte aber auch eine Lösung für dbExpress.
Danke für jeden Hinweis!!