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

首頁 > 數據庫 > Oracle > 正文

教你快速掌握Oracle數據庫中的 bfile

2024-08-29 13:51:54
字體:
來源:轉載
供稿:網友
具體步驟如下: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;(注釋:bfile字段實際的文件存儲在文件系統中,字段中存儲的是文件定位指針.bfile對oracle來說是只讀的,也不參與事務性控制和數據恢復)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲城县| 喜德县| 共和县| 昭苏县| 宁河县| 鱼台县| 昆山市| 临颍县| 红原县| 祁连县| 西昌市| 尼勒克县| 溧阳市| 吉安县| 连平县| 惠水县| 新建县| 安塞县| 苏尼特右旗| 梁河县| 静乐县| 霍林郭勒市| 工布江达县| 葵青区| 吴忠市| 南皮县| 曲周县| 北京市| 兴仁县| 泸溪县| 新沂市| 富蕴县| 白玉县| 湖口县| 美姑县| 年辖:市辖区| 垫江县| 三穗县| 安化县| 右玉县| 若尔盖县|