Hi,

I fond a way to upload text files into BLOB:

CREATE OR REPLACE PROCEDURE Load_BLOB_From_TXT_File
IS

dest_blob BLOB;
src_blob BFILE := BFILENAME('EXAMPLE_LOB_DIR', 'sui_treat_codes_data.txt');
dst_offset number := 1 ;
src_offset number := 1 ;
lang_ctx number := DBMS_LOB.DEFAULT_LANG_CTX;
warning number;

BEGIN

DBMS_OUTPUT.ENABLE(100000);

-- -----------------------------------------------------------------------
-- THE FOLLOWING BLOCK OF CODE WILL ATTEMPT TO INSERT / WRITE THE CONTENTS
-- OF AN TXT FILE TO A CLOB COLUMN. IN THIS CASE, I WILL USE THE NEW
-- DBMS_LOB.LoadCLOBFromFile() API WHICH *DOES* SUPPORT MULTI-BYTE
-- CHARACTER SET DATA. IF YOU ARE NOT USING ORACLE 9iR2 AND/OR DO NOT NEED
-- TO SUPPORT LOADING TO A MULTI-BYTE CHARACTER SET DATABASE, USE THE
-- FOLLOWING FOR LOADING FROM A FILE:
--
-- DBMS_LOB.LoadFromFile(
-- DEST_LOB => dest_clob
-- , SRC_LOB => src_clob
-- , AMOUNT => DBMS_LOB.GETLENGTH(src_clob)
-- );
--
-- -----------------------------------------------------------------------

INSERT INTO test_txt_blob(id, file_name, TXT_file, timestamp)
VALUES(1002, 'sui_treat_codes_data.txt', empty_blob(), sysdate)
RETURNING TXT_file INTO dest_blob;


-- -------------------------------------
-- OPENING THE SOURCE BFILE IS MANDATORY
-- -------------------------------------
DBMS_LOB.OPEN(src_blob, DBMS_LOB.LOB_READONLY);

DBMS_LOB.LoadBLOBFromFile(
DEST_LOB => dest_blob
, SRC_BFILE => src_blob
, AMOUNT => DBMS_LOB.GETLENGTH(src_blob)
, DEST_OFFSET => dst_offset
, SRC_OFFSET => src_offset
);

DBMS_LOB.CLOSE(src_blob);

COMMIT;

DBMS_OUTPUT.PUT_LINE('Loaded TXT File using DBMS_LOB.LoadBLOBFromFile: (ID=1002).');

END;
/


Regards,
Nir