将 图片 文件存储到 Oracle 的存储过程

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航