create or replace directory utllobdir as '/updates';
create table bfile_tab (bfile_column BFILE);
create table exe (blob_column BLOB);
create table dll (blob_column BLOB);
create table liveupdate(VER number);
----------------------------------------
declare
a_blob BLOB;
a_bfile BFILE := BFILENAME('UTLLOBDIR','bus_mana.exe');
begin
insert into bfile_tab values (a_bfile)
returning bfile_column into a_bfile;
insert into exe values (empty_blob())
returning blob_column into a_blob;
dbms_lob.fileopen(a_bfile);
dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
dbms_lob.fileclose(a_bfile);
commit;
end;
/
---
declare
a_blob BLOB;
a_bfile BFILE := BFILENAME('UTLLOBDIR','zs.dll');
begin
insert into bfile_tab values (a_bfile)
returning bfile_column into a_bfile;
insert into dll values (empty_blob())
returning blob_column into a_blob;
dbms_lob.fileopen(a_bfile);
dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
dbms_lob.fileclose(a_bfile);
commit;
end;
/
--------------
select dbms_lob.getlength(blob_column) from exe;
select dbms_lob.getlength(blob_column) from dll;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11088128/viewspace-119097/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11088128/viewspace-119097/
本文演示了如何使用Oracle数据库中的BFILE与BLOB类型进行文件存储与读取操作,包括创建目录与表、插入文件及获取文件大小等步骤。
24万+

被折叠的 条评论
为什么被折叠?



