读书人

oracle 储存 图片

发布时间: 2012-10-27 10:42:26 作者: rapoo

oracle 存储 图片
--一个完整的存储图片的例子,楼主参考下,可费劲找了,嘎嘎~
SQL> CREATE TABLE IMAGE_LOB (
2 T_ID VARCHAR2 (5) NOT NULL,
3 T_IMAGE BLOB NOT NULL
4 );

表已创建。

SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Inetpub\wwwroot';

目录已创建。

SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (
2 TID VARCHAR2,
3 FILENAME VARCHAR2) AS
4 F_LOB BFILE;
5 B_LOB BLOB;
6 BEGIN
7 INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,
8 EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
9 F_LOB:= BFILENAME ('IMAGES', FILENAME);
10 DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
11 DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,
12 DBMS_LOB.GETLENGTH (F_LOB));
13 DBMS_LOB.FILECLOSE (F_LOB);
14 COMMIT;
15 END;
16 /

过程已创建。

SQL> BEGIN
2 IMG_INSERT('1','win2000.gif');
3 END;
4 /

PL/SQL 过程已成功完成。

SQL> select length(t_image) from image_lob where t_id='1';

LENGTH(T_IMAGE)
---------------
4670

SQL>

读书人网 >其他数据库

热点推荐