ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
19703
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Registriert seit
    Oct 2007
    Beiträge
    8
    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
     

  2. #2
    Registriert seit
    Oct 2007
    Beiträge
    8
    Hab die 3 Statments jetzt mit "Union" verbunden jetzt ist nur nach das Problem mit der ersten Leerzeile.
     

  3. #3
    Avatar von Exceptionfault
    Exceptionfault ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Ort
    Neckarsulm
    Beiträge
    348
    In dem folgenden Beispiel klappt es so wie gewünscht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    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
     
    liebe Grüße
    Exceptionfault (http://exceptionfault.de)

    Never say: "Always"! Always say: "Never say never"! - Tom Kyte @ Ask Tom Live in Berlin 2008

  4. #4
    Registriert seit
    Oct 2007
    Beiträge
    8
    Hat geklappt super vielen Dank =)
     

  5. #5
    MPr
    MPr ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Ort
    Saarbrücken
    Beiträge
    107
    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
     

Ähnliche Themen

  1. Auswahl und Ausgabe optimieren
    Von Maxm123 im Forum PHP
    Antworten: 9
    Letzter Beitrag: 04.01.10, 17:48
  2. SQLPlus Ausgabe im richtigen Format
    Von Jan65 im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 01.09.08, 22:58
  3. /var/spool/mail/ Verzeichnis leer
    Von mkoeni1 im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 05.11.07, 16:35
  4. Log Printer Spool
    Von hagbard_celine im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 19.05.06, 12:58
  5. SQLplus - Ausgabe mit SET verändern
    Von SG_wXistenZ im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 01.03.05, 08:41