`

将 图片 文件存储到 Oracle 的存储过程用的外部BLOB的方式

阅读更多
测试环境: Win2000 + Oracle92

        一个存储图片文件的过程,任何开发工具都可以通过调用过程把图片文存储到数据库中。
详细步骤:
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> EXEC IMG_INSERT('1','f_TEST.jpg');
PL/SQL 过程已成功完成。

坏男孩 2007-08-19 06:29 发表评论
分享到:
评论

相关推荐

    mysql和Oracle在对clob和blob字段的处理

    `CLOB`用于存储非结构化的字符数据,如长篇文章、XML文档等,而`BLOB`则用于存储二进制大对象,如图片、音频或视频文件。在处理这些大型数据时,数据库系统需要考虑存储效率、性能和查询能力。 1. MySQL对`CLOB`和`...

    oracle Blob

    Oracle中的Blob类型是一种用于存储大型二进制对象的数据类型,如图像、音频或视频文件等。Blob相比于long字段,提供了更好的性能,特别是处理大量非结构化数据时。Blob的使用涉及多个步骤,包括创建、插入、读取和...

    oracle中blob 字段类型的应用

    Oracle中的Blob字段类型是用于存储大量二进制数据的数据类型,比如图像、音频或大型文档。Blob代表Binary Large Object,其最大容量可达4GB。在Oracle数据库中,Blob与Clob(Character Large Object)、Bfile和Nclob...

    Oracle接收长度大于4000的字符串

    Oracle存储过程读取Blob数据 为了读取并处理存储过程中的Blob数据,可以使用以下步骤: ##### 2.1 定义变量 在存储过程中定义必要的变量,如用于读取Blob数据的变量以及用于记录Blob长度的变量。 ```sql ...

    load blob clob

    在处理Blob数据时,我们通常需要将外部文件加载到Blob字段或者从Blob字段导出到文件。例如,ociuldr2.c可能是Oracle的OCI(Oracle Call Interface)驱动的源代码文件,用于开发与数据库交互的应用程序,其中可能包含...

    DELPHI向SQL数据库中存储图片

    在传统的文件存储方式中,图片会被保存为物理文件,然后在数据库中存储文件路径。这种方式可能会导致文件和数据库记录之间的同步问题。而将图片数据直接存储在数据库内,可以简化管理,确保数据的一致性,并降低外部...

    ORACLE外部表学习笔记

    SQLLDR是一个数据加载工具,它可以将外部数据文件加载到Oracle数据库表中。在本例中,控制文件`t_images.ctl`定义了数据加载的规则,指定了输入文件、目标表和字段的分隔符等信息。数据文件`t_images.txt`包含了具体...

    oracle对大对象类型操作:blob,clob,nclob,bfile

    BFILE是一种外部LOB类型,它不同于其他三种,因为它存储在数据库服务器之外的操作系统文件系统中。这使得BFILE更加灵活,因为文件大小不受数据库限制,但同时也带来一些安全和管理上的挑战。BFILE可以提供更快的...

    oracle 资料--图片存取

    除了使用PL/SQL直接操作BLOB外,还可以通过Oracle的外部表功能将文件系统上的文件映射为数据库中的虚拟表,从而实现图片的存取。例如,"dummy.dcm"、"goats.gif"和"flowers.jpg"可能就是这样的例子,它们可以被读取...

    oracle传入一个字符串,调用webservice

    ### Oracle存储过程中调用WebService的方法解析 在Oracle数据库中,通过存储过程调用WebService是一种常见的需求,尤其是在需要与外部系统进行交互的情况下。本文将详细解释如何实现这一功能,并且会结合给定的部分...

    ORACLE读取FTP上的EXCEL文件

    我们可以使用Oracle存储过程来读取FTP上的EXCEL文件数据流、将数据流转换为BLOB类型、将BLOB类型的数据流转换为可读取的数据、将数据转换为Table形式。这些步骤可以帮助我们实现自动化的数据导入过程,提高工作效率...

    Oracle BLOB:打造敬老服务专用卡.pdf

    Oracle BLOB(Binary Large Object)数据类型在Oracle数据库中用于存储大容量的非结构化数据,如图片、视频和音频文件。在信息化时代,随着多媒体信息的爆炸性增长,有效地管理和存储这些信息成为了一个关键挑战。...

    spring blob相关

    在Oracle中,BFILE和CLOB也是用来存储大对象的类型,但BFILE存储的是文件系统中的外部文件,而CLOB用于存储非二进制的大型文本数据。 接下来,让我们探讨如何在Spring中与Oracle的BLOB字段交互。这通常涉及到以下几...

    利用Java程序实现Oracle数据库中大对象的存取.pdf

    通过该控件,可以将客户端的文件上传到服务器端的Oracle数据库中,并存储为一个大对象。然后,服务器端的Java程序可以对该大对象进行存储和读取的操作。 在Java程序中,可以使用jdbc驱动程序来连接Oracle数据库,并...

    AutoCAD图幅在ORACLE平台上的存储及应用方法探讨.pdf

    此外,BFILE数据类型用于引用操作系统中的外部文件,但Oracle并不负责维护外部文件的数据完整性和并发性。 数据库的应用主要包括图件的存取方式和AutoCAD ActiveX技术的运用。采用BLOB数据类型存储地质图件,读取和...

    浅论大型数据对象在Oracle数据库中的存储方法.pdf

    本文主要探讨的是如何在Oracle数据库中有效地存储多媒体数据、文档和其他大文件,这些数据通常包含大量的字节,如视频、图片、音频和文档等。 在Oracle数据库中,大型数据对象(Large Data Object, LDO)是指那些...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    4. 编写 Action 类:处理用户提交的表单,读取上传文件,将其保存到服务器的特定目录,并在数据库中存储文件路径或元信息。 5. 配置数据库:创建相应的表,包含存储图片路径或元数据的字段,可能需要使用 BLOB 或 ...

    基于Oracle的邮件系统的存储优化.pdf

    - 如果未指定存储参数,Oracle将使用默认值在表空间中创建这些段,段名自动生成。 - 使用`CREATE TABLE`语句时,可以指定存储参数,如`CHUNK`,以自定义LOB段的分配单元大小。 2. **存储参数配置** - `CHUNK`...

Global site tag (gtag.js) - Google Analytics