PDA

Visualizza la versione completa : [PL-SQL] caricare file da una cartella in campo BLOB


sampeiroma
14-03-2014, 11:57
Ciao,
come dice il titolo devo caricare dei file presenti in una cartella in una tabella Oracle11 dove Ŕ presente un campo BLOB..

Per ora sono riuscito a caricare 1 file alla volta passando alla procedura la variabile "nomefile", in realtÓ dovrei leggere direttamente tutti i file presenti nel percorso indicato e scriverli nel DB.

Potete aiutarmi a modificare la procedura in modo che inserisca automaticamernte tutti i file di una cartella senza passargli il nome?

Attualmente ho sviluppato questa procedura:

CREATE OR REPLACE PROCEDURE caricaFiles(nomefile IN VARCHAR2) IS
bl BLOB;
bf BFILE;
bs INTEGER;
BEGIN
INSERT INTO provaBlob VALUES(nomefile, empty_blob());
bf := bfilename('\\......\TEST', nomeFile);
DBMS_LOB.FILEOPEN(bf);
bs := DBMS_LOB.GETLENGTH(bf);
SELECT fileB INTO bl FROM provaBlob WHERE fileName = nomefile;
DBMS_LOB.LOADFROMFILE(bl, bf, bs);
DBMS_LOB.FILECLOSE(bf);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||' '||SQLERRM);
COMMIT;
END;
/

Grazie

Loading