Hallo,
habe jetzt alles hinbekommen.
Meine Prozedur zum Lesen sieht wie folgt aus:
dcl-pi pr_ar_readsql ind;
DS_Input likeds(DS_Datei);
end-pi;
//-----------------------------------------------------------------------
// Variablen
//-----------------------------------------------------------------------
dcl-ds DS_SQL_Out ext extname('AR') end-ds;
dcl-s ind_fehler ind;
dcl-s cha_statement char(500);
//-----------------------------------------------------------------------
// Verarbeitung
//-----------------------------------------------------------------------
ind_fehler = *off;
exec sql fetch cursor_ar into S_SQL_Out;
if sqlcode <> 0;
ind_fehler = *on;
if sqlcode = 100;
exec sql close cursor_ar;
clear ds_input;
endif;
else;
DS_Input = DS_SQL_Out;
endif;
Bei ungefähr 600.000 Sätzen benötige ich ungefähr 38 Sekunden.
Native IO schafft das Ganze in 3-7 Sekunden.
Liegt das am Prozeduraufruf? Oder am Fetch?
Habt ihr Ideen wie das schneller funktioniert?