`

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

阅读更多
一个存储图片文件的过程,任何开发工具都可以通过调用过程把图片文存储到数据库中。
详细步骤:
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 过程已成功完成。
分享到:
评论

相关推荐

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

    Oracle还提供了`BFILE`数据类型,用于存储数据库外部的二进制文件,节省存储空间。此外,Oracle的`NCLOB`数据类型用于存储Unicode字符数据。 3. 区别与比较: - 存储机制:MySQL的`TEXT`和`BINARY`系列数据类型...

    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)驱动的源代码文件,用于开发与数据库交互的应用程序,其中可能包含...

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

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

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

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

    spring blob相关

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

    ORACLE读取FTP上的EXCEL文件

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

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

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

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

    BFILE是唯一的外部LOB,它是以外部文件的方式存储在文件中。 本文以BLOB为例进行说明,它以二进制方式存储数据,可以存储任何类型的文件。在实际开发中,如何使用Java程序操纵Oracle中的LOB是一个非常重要的问题。...

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

    在数据库的建立过程中,文章特别提到使用了大对象(LOB)数据类型,如BLOB,CLOB和NCLOB,来存储AutoCAD图幅。其中,BLOB用于存储二进制数据,CLOB用于字符数据,而NCLOB则针对多字节字符集。此外,BFILE数据类型...

    ORACLE LOB大对象处理.doc

    - **BFILE** 类型的数据存储在数据库外部的操作系统文件中,数据库中仅保存该文件的路径信息。 #### 三、大对象数据的录入 为了有效地管理和操作LOB数据,Oracle提供了专门的机制来进行数据的录入。 1. **声明...

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

    在设计和优化基于Oracle的邮件系统时,理解和配置LOB字段的存储参数至关重要,因为这直接影响到系统的性能和存储效率。文章中提到,邮件系统中邮件大小差异巨大,从几十个字节到几兆字节不等,因此,合理分配存储...

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

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

    Oracle Georaster的数据存储研究及其与ArcSDE性能的对比.pdf

    【数据存储方式】Oracle Georaster 使用两个核心对象——SDO_GEORASTER 和 SDO_RASTER 来存储栅格数据。SDO_GEORASTER 存储与栅格数据相关的元数据和空间范围信息,而 SDO_RASTER 则包含栅格文件的分块信息,并以 ...

    oracle触发器加载java文件访问webservice

    在Oracle数据库环境中,触发器是一种存储过程,它会在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。这个场景中提到的"oracle触发器加载java文件访问webservice"是一个高级技术集成,它结合了关系...

    浅谈ORACLE大型对象存储技术在油田开发中的应用.pdf

    外部LOBS(bfiles)则存储在数据库之外的服务器文件系统中,适合大文件的存储需求。 在油田开发领域,LOBS技术的应用尤为关键。数值模拟和地质解释结果等重要信息的管理,如油田开发的模型、沉积相带图和专业软件的...

Global site tag (gtag.js) - Google Analytics