`

将 图片 文件存储到 Oracle 的存储过程用的外部BLOB的方式

阅读更多
测试环境: 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 过程已成功完成。

坏男孩 2007-08-19 06:29 发表评论
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics