|
-
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
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|