Wenn ich diesen Teil meines Codes, der in einem Paket ist, bekomme ich einen Fehler (speziell in der l_cnt := 1_cnt + 1
Zeile aus irgendeinem Grund und der Code abstürzt. Was könnte ich falsch machen? ich versuche, in einer Datei von certs zu lesen Hier ist, was ich bisher.plsql lesen Textdatei in einem Array
v_certList arr_claims_t := arr_claims_t();
v_certLst VARCHAR2(2000);
f UTL_FILE.FILE_TYPE;
s VARCHAR2(200);
-- used for looping
l_cnt simple_integer := 0;
/*cop procedure*/
PROCEDURE COP_DATALOAD_V2 AS
arr_claims arr_claims_t;
arr_sql arr_sql_t;
BEGIN
f := UTL_FILE.FOPEN('V_COP',
'certs_file.txt',
'R',
2500);
-- populata our v_certlist of arr_claims_t
loop
utl_file.get_line(f, s);
v_certList.extend();
l_cnt := l_cnt+1;
v_certList(l_cnt) := s;
end loop;
exception
when no_data_found then
utl_file.fclose(f);
ich mag das Array succesfuly bevölkerte eine Textdatei angegeben werden (und ich verstehe dies nicht die beste Praxis ist, aber das ist Was ich jetzt tun muss)
Dies ist eine sehr lange Prozedur, so ... das Ende ist irgendwo gegen Ende. Was meinen Sie? Die Schleife läuft bis zur Ausnahme .. richtig? Der Fehler ist: ORA-06512 – qaispak
Ich denke, Sie sind am falschen Ort erweitert. Bitte überprüfen Sie unten: Schleife utl_file.get_line (f, s); l_cnt: = l_cnt + 1; v_certList (l_cnt): = s; v_certList.extend(); Endschleife; – XING
ORA-06512 ist nicht der Fehler, es zeigt nur einen Laufzeitfehler an. Sie brauchen den Rest des Stapels, um zu sehen, was wirklich schief gelaufen ist. –