SQLPlus-Spool ausgabe Optimieren

Hans-Schmdt-Peter

Grünschnabel
Hi,

und zwar geht es darum das ich mir eine Batch Datei mit dem dazugehöriogen Select-Statment gebastelt habt. Die Daten aus dem Select-Statment werden via Spool in eine ".csv" Datei ausgegeben.
Soweit funktionier auch alles, mein Problem ist allerdings (es sind insgesamt 3 Select-Statments), dass bei der Ausgabe in die ".csv" Datei die erste Zeile leer ist und nach dem ersten und zweiten Select-Statment auch jeweils eine leere zeile ist.
Also:

.................................(leer)
Daten
Daten
Daten (ende erstest Select-Statment)
.................................(leer)
Daten
Daten
Daten (ende zweites Select-Statment)
.................................(leer)


Da die Daten aber später mit einem andere Programm eingelesen werden sollen müssen die leeren zeilen irgendwie weg.
Ich hab es jetzt mit verschiedenen "set" funktionen versucht aber bin bis jetzt noch nicht zum gewünschten Ziel gekommen.

Ich hoffe einer von euch hat eine gute Idee für mich.
Danke schonmal


MFG

Hans
 
In dem folgenden Beispiel klappt es so wie gewünscht:

Code:
set pagesize 0
set heading off
set linesize 1024
set echo off 
set feed off
set tab off
set trimout on
set trims on

spool test.txt

select username || ',' || user_id from all_users order by 1;

select username || ',' || user_id from all_users order by 1;

select username || ',' || user_id from all_users order by 1;
spool off
 
je nach Anzahl der Sätze, die per spool gelesen werden sollen, (und unter Berücksichtigung der Netzwerkstruktur) würde ich noch ein

set arraysize 1000

dazunehmen, um die Kommunikation zwischen Server und Client zu optimieren. Die arraysize bestimmt, wieviele rows pro fetch-Zugriff gelesen werden. Mit dem Default-Wert (meiner Erinnerung nach 15 für sqlplus) bekommt man unter Umständen recht massive Probleme mit SQL*Net Waits. Eine weitere Optimierungsmöglichkeit für die Spool-Performance wäre die Unterdrückung der Bildschrimausgabe für die Spool-Operation (set termout off).

Gruß

MP
 
Zurück