Pada SQL*Plus Oracle 11g, kita dapat melakukan operasi penyimpanan dan pengambilan file dari dan ke database Oracle, yang sebelumnya tidak bisa kita lakukan. Pada versi sebelumnya, jika kita mencoba untuk query dari field yang bertipe blob atau bfile, SQL*Plus akan menampilkan pesan “SP2-0678: Column or attribute type can not be displayed by SQL*Plus”. Berikut percobaan saya di Oracle 11g untuk melakukan operasi penyimpanan file dengan tipe BFILE di Oracle 11g dengan menggunakan SQL*Plus:
$ sqlplus userAnda/passwordAnda
SQL> create table album(id number(5) primary key, keterangan varchar(1000), foto bfile);
SQL> select * from album;
no rows selected
SQL> create or replace directory ALBUMDIR as ‘/home/oracle/Pictures’;
(jika ada pesan ORA-00990: missing or invalid privilege, berikan hak CREATE ANY DIRECTORY kepada userAnda).
Cara Menyimpan File ke database Oracle
SQL> create sequence albumseq;
SQL> insert into album values (albumseq.nextval, ‘komik koran spiderman’, bfilename(‘ALBUMDIR’, ’2.png’));
SQL> col keterangan format a30;
SQL> select * from album;
ID KETERANGAN
———- ——————————
FOTO
——————————————————————————–
1 komik koran spiderman
bfilename(‘ALBUMDIR’, ’2.png’)
———- ——————————
FOTO
——————————————————————————–
1 komik koran spiderman
bfilename(‘ALBUMDIR’, ’2.png’)
Demikian contoh pemakaian BFILE. Untuk tipe data BLOB, kita dapat mencoba memasukkan dengan fungsi EMPTY_BLOB() untuk melihat bahwa SQL*Plus di Oracle 11g juga dapat menampilkannya.
Untuk contoh pemrograman Java tentang pembacaan isi file yang tersimpan dalam kolom BFILE, silahkan merujuk kehttp://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/advanced/BFILESample/Readme.html. Thanks.
ConversionConversion EmoticonEmoticon