Загрузка файла в CLOB в PL / SQL довольно проста - вам просто нужно использовать процедуру DBMS_LOB.LoadCLOBFromFile
CREATE DIRECTORY file_dir
AS <<path on database server file system>>;
GRANT read, write
ON file_dir
TO your_user_name;
DECLARE
l_src_file bfile := BFileName( 'FILE_DIR', <<name of file>> );
l_dest_lob clob;
l_dest_offset integer := 1;
l_src_offset integer := 1;
l_lang_context number := dbms_lob.default_lang_ctx;
l_warning number;
BEGIN
dbms_lob.open( l_src_file, dbms_lob.lob_readonly );
INSERT INTO some_table( fileID, logFile )
VALUES( fileIDSeq.nextval, empty_clob() )
RETURNING logFile
INTO l_dest_lob;
dbms_lob.LoadCLOBFromFile(
dest_lob => l_dest_lob,
src_bfile => l_src_file,
amount => dbms_lob.getLength( l_src_file ),
dest_offset => l_dest_offset,
src_offset => l_src_offset,
bfile_csid => dbms_lob.default_csid,
lang_context => l_lang_context,
warning => l_warning );
dbms_lob.close( l_src_file );
END;
/
Запись файла из CLOB вфайловая система снова немного сложнее.Я бы использовал что-то вроде процедуры clob_to_file Тома Кайта