測試環境: Win2000 + Oracle92
??????? 一個存儲圖片文件的過程,任何開發工具都可以通過調用過程把圖片文存儲到數據庫中。
詳細步驟:
SQL> connect
chanet/chanet@oradb;
已連接。
SQL> CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
表已創建。
SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Oracle'; --圖片目錄
目錄已創建。
SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (TID VARCHAR2,FILENAME VARCHAR2) AS
? 2??? F_LOB BFILE;
? 3??? B_LOB BLOB;
? 4? BEGIN
? 5??? INSERT INTO IMAGE_LOB (T_ID, T_IMAGE)
? 6????? VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
? 7??? F_LOB:= BFILENAME ('IMAGES', FILENAME);
? 8??? DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
? 9??? DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,
?10??? DBMS_LOB.GETLENGTH (F_LOB));
?11??? DBMS_LOB.FILECLOSE (F_LOB);
?12??? COMMIT;
?13? END;
?14? /
過程已創建。
SQL> EXEC IMG_INSERT('1','f_TEST.jpg');
PL/SQL 過程已成功完成。
posted on 2007-08-19 06:29
壞男孩 閱讀(2555)
評論(0) 編輯 收藏 所屬分類:
ORACLE篇章