作者:以真做假公馆 | 来源:互联网 | 2014-07-09 16:02
oracle存储图片一个完整的存储图片的例子SQL>CREATETABLEIMAGE_LOB(2T_IDVARCHAR2(5)NOTNULL,3T_IMAGEBLOBNOTNULL4);表已创建。www.2cto.comSQL>CREATEORREPLACE...Sy
oracle存储图片
一个完整的存储图片的例子
SQL> CREATE TABLE IMAGE_LOB (
2 T_ID VARCHAR2 (5) NOT NULL,
3 T_IMAGE BLOB NOT NULL
4 );
表已创建。
www.2cto.com
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 /
www.2cto.com
过程已创建。
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>