Hallo zusammen,
ich habe eine Prozedur geschrieben, die HL7 - Nachrichten (Einfach formatierte Textdateien zur Kommunikation zweier Datendanken) erzeugt. Dies habe ich mit UTL_FILE.FOPEN realisiert (Oracle 9).
Nun habe ich das Problem, dass die Prozedur mehrere Tausende Dateien erstelle muss. Das funktioniert zwar, jedoch laufen mir hier die temporären Tablespaces zu, da die Daten erst dann geschrieben werden, wenn die Prozedur beendet ist.
Gibt es keine Möglichkeit, die Dateien einen nach dem anderen zu schreiben?
Ich hatte mal versucht, einen eigenen Prozedur zur Dateierzeugung, die durch die Prozedur zur Ermittlung des Inhaltes angestoßen wird, zu schreiben, in der Hoffnung, dass die Daten einzeln geschrieben werden. Leider vergebens, da die Daten alle auf einmal am Ende geschrieben werden.
Wäre nett, wenn mir da einer helfen könnte.
Viele Grüße,
Stephan
BEGIN;
v_file := UTL_FILE.FOPEN('C:\temp','HL7-'||vSEQUENCE||'.hl7', 'w');
UTL_FILE.PUT_LINE(v_file,vHL7head||vHL7WERTE);
UTL_FILE.FCLOSE(v_file);
v_sem := UTL_FILE.FOPEN('C:\temp','HL7-'||vSEQUENCE||'.sem', 'w');
UTL_FILE.FCLOSE(v_sem);
END;
ich habe eine Prozedur geschrieben, die HL7 - Nachrichten (Einfach formatierte Textdateien zur Kommunikation zweier Datendanken) erzeugt. Dies habe ich mit UTL_FILE.FOPEN realisiert (Oracle 9).
Nun habe ich das Problem, dass die Prozedur mehrere Tausende Dateien erstelle muss. Das funktioniert zwar, jedoch laufen mir hier die temporären Tablespaces zu, da die Daten erst dann geschrieben werden, wenn die Prozedur beendet ist.
Gibt es keine Möglichkeit, die Dateien einen nach dem anderen zu schreiben?
Ich hatte mal versucht, einen eigenen Prozedur zur Dateierzeugung, die durch die Prozedur zur Ermittlung des Inhaltes angestoßen wird, zu schreiben, in der Hoffnung, dass die Daten einzeln geschrieben werden. Leider vergebens, da die Daten alle auf einmal am Ende geschrieben werden.
Wäre nett, wenn mir da einer helfen könnte.
Viele Grüße,
Stephan
BEGIN;
v_file := UTL_FILE.FOPEN('C:\temp','HL7-'||vSEQUENCE||'.hl7', 'w');
UTL_FILE.PUT_LINE(v_file,vHL7head||vHL7WERTE);
UTL_FILE.FCLOSE(v_file);
v_sem := UTL_FILE.FOPEN('C:\temp','HL7-'||vSEQUENCE||'.sem', 'w');
UTL_FILE.FCLOSE(v_sem);
END;
Comment