Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Large Objects
 

Populating BFILE

Oracle accesses files on the server by using a directory. A directory is just a pointer to an operating system folder. Assuming that a folder C:\IO exists on your server, and you want to call that folder IO within Oracle: create directory IO as 'C:\IO'; grant read, write on directory IO to public; Now, when you refer to IO in any commands, you're referring to the C:\IO folder in the file system. To create a pointer to the file on the server and place that pointer in the table on an existing record SQL> --1: Creating a Pointer SQL> SQL> create table catalog   2  (id number,   3   name VARCHAR2(2000),   4   manual_cl CLOB,   5   firstpage_bl BLOB,   6   mastertxt_bf BFILE   7   ); Table created. SQL> SQL> create directory IO as 'C:\IO'; Directory created. SQL> --grant read, write on directory IO to public; SQL> SQL> declare   2      v_bf BFILE;   3  begin   4      v_bf:=BFILENAME ('IO', 'text.htm');   5      insert into catalog(id, name, mastertxt_bf) values (1, 'TEXT.HTM', v_bf);   6  end;   7  / PL/SQL procedure successfully completed. SQL> SQL> drop table catalog; Table dropped.