Deutsches Application Express Forum (ApEx) -- Installation , Engine / SQL , Anwendungen
HTMLDB Engine :  Oracle Apex The fastest message board... ever.
Alles in HTMLDB, Applikationen, Berichte, SQL ... 
Upload von Spreadsheet-Dateien in APEX
geschrieben von: Guenger (---.dip0.t-ipconnect.de)
Datum:

Ich bräuchte einen kleinen Schubser!

Ich bin gerade dabei eine Anwendung für Enduser zu schreiben, die die Möglichkeit haben sollen csv-Daten per copy&paste in eine Tabelle zu importieren.
Nun bin ich im Oracle-Forum auf ein Package zum Upload von Spreadsheet-Dateien gestoßen. Das war im Prinzip genau das was ich gebraucht habe, aber jetzt komme ich nicht mehr weiter:

Ich habe es geschafft das erste Feld aus der csv-Datei in das erste Tabellenfeld zu importieren -> siehe Quellcode

create or replace PACKAGE BODY process_upload_zeiten
IS
PROCEDURE process_zeiten (p_upload IN VARCHAR2, o_partners OUT VARCHAR2)
IS
v_zeiten_array wwv_flow_global.vc_arr2;
empty_array wwv_flow_global.vc_arr2;
v_array wwv_flow_global.vc_arr2;
v_upload VARCHAR2 (32000) := NULL;
v_line VARCHAR2 (32000) := NULL;
bad_values EXCEPTION;
v_colors VARCHAR2 (100) := NULL;
BEGIN
v_upload := REPLACE (p_upload, '[&];, 'httpQQQ//');
v_upload := REPLACE (v_upload, CHR (09), ':');
WHILE v_upload IS NOT NULL
LOOP
v_colors := NULL;
v_line := SUBSTR (v_upload, 1, INSTR (v_upload, CHR (10)) - 1);
v_zeiten_array := wwv_flow_utilities.string_to_table (v_line);
IF v_zeiten_array.COUNT != 1
THEN
RAISE bad_values;
ELSE
v_array := empty_array;
BEGIN

/****** Ab hier mache ich meinen INSERT. Wenn ich einen zweiten Parameter übergebe funktioniert es nicht mehr d.h.
'insert into zeiten_copy (datum, zeit)values(:1,:2)'
USING
v_zeiten_array (1),
v_zeiten_array (2)
;
******************/

/****** und so funktioniert es
******************/

EXECUTE IMMEDIATE 'insert into zeiten_copy (datum)values(:1)'
USING
v_zeiten_array (1)
;
EXCEPTION
WHEN OTHERS
THEN
EXECUTE IMMEDIATE 'insert into zeiten_error(id,log,time,username) values (NULL,:1,:2,:3)'
USING v_line, SYSDATE, v ('APP_USER');
END;
v_upload := SUBSTR (v_upload, INSTR (v_upload, CHR (10)) + 1);
END IF;
END LOOP;
END process_zeiten;
END process_upload_zeiten;

Vielleicht sieht jemand etwas was ich nicht sehe.
Danke und Gruß





Thema Neugierige geschrieben von geschrieben
Upload von Spreadsheet-Dateien in APEX 2830 Guenger


In diesem Forum dürfen nur registrierte Benutzer schreiben.
This forum powered by Phorum.