谢谢,能否说得更具体点。
使用oracle的存储过程可以将任意bmp图片,存储为oracle数据库的数据,以下是我在机子上做的试验:
SQL> CREATE TABLE IMAGE_LOB (
2 T_ID VARCHAR2 (5) NOT NULL,
3 T_IMAGE BLOB NOT NULL
4 );
表已创建。
SQL> desc image_lob
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
T_ID NOT NULL VARCHAR2(5)
T_IMAGE NOT NULL BLOB
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;BEGIN
6 INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,
7 EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
8 F_LOB:= BFILENAME ('IMAGES', FILENAME);
9 dbms_lob.FILEOPEN (F_LOB, dbms_lob.FILE_READONLY);
10 dbms_lob.LOADFROMFILE (B_LOB, F_LOB,
11 dbms_lob.GETLENGTH (F_LOB));
12 dbms_lob.FILECLOSE (F_LOB);
13 COMMIT;
14 END;
15 /
过程已创建。
SQL> BEGIN
2 IMG_INSERT('1','x9.gif');
3 end;
4 /
PL/SQL 过程已成功完成。
注意建立该过程必须要拥有dba权限的用户才行