国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE中BFILE字段的使用研究

2024-08-29 13:29:51
字體:
來源:轉載
供稿:網友

因為做項目,需要使用bfile字段存儲圖像文件,所以進行了一些研究。


bfile字段實際的文件存儲在文件系統中,字段中存儲的是文件定位指針.bfile對

 

oracle來說是只讀的,也不參與事務性控制和數據恢復

 

bfile的基本操作如下:

 

 

1.先在oracle數據庫中下面我們建立一個目錄別名,用于將文件定位指針映射到文

 

件系統: 

 

 create directory 'tmpdir' as '/tmp'; 

 tmpdir表示邏輯目錄名,'/tmp'是實際目錄。 注意該目錄oracle應該有讀權限

 

然后根據需要授權

 grant read on directory bfile_dir1 to scott;

建立一個含有bfile字段的表

 create table bfiletest(id number(3), fname bfile);

 建立一個含有blob字段的表


create table blobtest(id number(3),ablob blob);

2.插入數據

 這里需要使用bfilename來進行bfile字段的insert 或者 update操作

 

 insert into bfiletest

     values (1, bfilename ('tmpdir', 'tmptest'));

 

   bfilename的參數1是directory名,參數2是文件名。注意:這一行中插入的是

 

一個指向/tmp/tmptest的文件定位指針映射,不是文件本身。

 

3.讀取bfile

  

   通過使用dbms_lob包進行可以對bfile讀入到blob/clob對象中操作(只讀) 

create or replace procedure loadlobfrombfile_proc(
tid in number,rfilename in varchar2,rfiledir in varchar2,upmessage out varchar2)
as
   dest_loc       blob;
   src_loc        bfile;
begin
  insert into blobtest(id,ablob) values(tid,empty_blob()) return ablob into dest_loc;

  src_loc := bfilename(rfiledir,rfilename);
     

   /* 如果bfile文件實際存在 */
   if (dbms_lob.fileexists(src_loc) != 0)
   then
       /* 打開bfile源文件 */ 
       dbms_lob.open(src_loc, dbms_lob.lob_readonly);
       /* 打開目標blob: */ 
       dbms_lob.open(dest_loc, dbms_lob.lob_readwrite);
       /*從文件中裝入 */
       dbms_lob.loadfromfile(dest_loc, src_loc,dbms_lob.getlength(src_loc));
       /* 記得關閉: */ 
       dbms_lob.close(dest_loc);
       dbms_lob.close(src_loc);
       commit;
       upmessage := '0';
   end if;
   exception
       when others then
          rollback;
          upmessage := '操作失敗';

end;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舒兰市| 潮州市| 湘阴县| 衡南县| 泽州县| 定兴县| 甘泉县| 元阳县| 诸暨市| 安达市| 聊城市| 泰顺县| 望奎县| 华宁县| 湘潭市| 沙湾县| 浮梁县| 搜索| 德安县| 永福县| 凤台县| 乌鲁木齐市| 凯里市| 冀州市| 莱州市| 镇巴县| 阜康市| 辽源市| 宁河县| 海丰县| 咸阳市| 城市| 神木县| 白水县| 梨树县| 湖南省| 汾西县| 泸西县| 仁怀市| 文昌市| 仁怀市|