测试环境: win2000 + oracle92
一个存储图片文件的过程,任何开发工具都可以通过调用过程把图片文存储到数据库中。
详细步骤:
microsoft windows 2000 [version 5.00.2195]
(c) 版权所有 1985-2000 microsoft corp.
c:\documents and settings\chanet>cd\
c:\>sqlplus /nolog
sql*plus: release 9.2.0.1.0 – production on 星期三 1月 19 14:46:21 2005
copyright (c) 1982, 2002, oracle corporation. all rights reserved.
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>– 示例
sql> exec img_insert(1,f_test.jpg);
pl/sql 过程已成功完成。