久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:119日期:2023-11-26 15:33: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來說是只讀的,也不參與事務性控制和數據恢復)。
標簽: Oracle 數據庫
主站蜘蛛池模板: 旺苍县| 北海市| 错那县| 牡丹江市| 太谷县| 邵东县| 静宁县| 千阳县| 景洪市| 梧州市| 花莲县| 肃宁县| 龙州县| 开阳县| 漠河县| 黄浦区| 莱芜市| 道真| 乌鲁木齐市| 布尔津县| 金平| 洱源县| 津市市| 石屏县| 昌邑市| 石泉县| 新巴尔虎右旗| 广安市| 石楼县| 普宁市| 云和县| 内黄县| 杭锦后旗| 冀州市| 新巴尔虎右旗| 自治县| 昭平县| 灵丘县| 龙山县| 门头沟区| 肇庆市|