测试环境: 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 过程已成功完成。
分享到:
相关推荐
`CLOB`用于存储非结构化的字符数据,如长篇文章、XML文档等,而`BLOB`则用于存储二进制大对象,如图片、音频或视频文件。在处理这些大型数据时,数据库系统需要考虑存储效率、性能和查询能力。 1. MySQL对`CLOB`和`...
Oracle中的Blob类型是一种用于存储大型二进制对象的数据类型,如图像、音频或视频文件等。Blob相比于long字段,提供了更好的性能,特别是处理大量非结构化数据时。Blob的使用涉及多个步骤,包括创建、插入、读取和...
Oracle中的Blob字段类型是用于存储大量二进制数据的数据类型,比如图像、音频或大型文档。Blob代表Binary Large Object,其最大容量可达4GB。在Oracle数据库中,Blob与Clob(Character Large Object)、Bfile和Nclob...
Oracle存储过程读取Blob数据 为了读取并处理存储过程中的Blob数据,可以使用以下步骤: ##### 2.1 定义变量 在存储过程中定义必要的变量,如用于读取Blob数据的变量以及用于记录Blob长度的变量。 ```sql ...
在处理Blob数据时,我们通常需要将外部文件加载到Blob字段或者从Blob字段导出到文件。例如,ociuldr2.c可能是Oracle的OCI(Oracle Call Interface)驱动的源代码文件,用于开发与数据库交互的应用程序,其中可能包含...
在传统的文件存储方式中,图片会被保存为物理文件,然后在数据库中存储文件路径。这种方式可能会导致文件和数据库记录之间的同步问题。而将图片数据直接存储在数据库内,可以简化管理,确保数据的一致性,并降低外部...
SQLLDR是一个数据加载工具,它可以将外部数据文件加载到Oracle数据库表中。在本例中,控制文件`t_images.ctl`定义了数据加载的规则,指定了输入文件、目标表和字段的分隔符等信息。数据文件`t_images.txt`包含了具体...
BFILE是一种外部LOB类型,它不同于其他三种,因为它存储在数据库服务器之外的操作系统文件系统中。这使得BFILE更加灵活,因为文件大小不受数据库限制,但同时也带来一些安全和管理上的挑战。BFILE可以提供更快的...
除了使用PL/SQL直接操作BLOB外,还可以通过Oracle的外部表功能将文件系统上的文件映射为数据库中的虚拟表,从而实现图片的存取。例如,"dummy.dcm"、"goats.gif"和"flowers.jpg"可能就是这样的例子,它们可以被读取...
### Oracle存储过程中调用WebService的方法解析 在Oracle数据库中,通过存储过程调用WebService是一种常见的需求,尤其是在需要与外部系统进行交互的情况下。本文将详细解释如何实现这一功能,并且会结合给定的部分...
我们可以使用Oracle存储过程来读取FTP上的EXCEL文件数据流、将数据流转换为BLOB类型、将BLOB类型的数据流转换为可读取的数据、将数据转换为Table形式。这些步骤可以帮助我们实现自动化的数据导入过程,提高工作效率...
Oracle BLOB(Binary Large Object)数据类型在Oracle数据库中用于存储大容量的非结构化数据,如图片、视频和音频文件。在信息化时代,随着多媒体信息的爆炸性增长,有效地管理和存储这些信息成为了一个关键挑战。...
在Oracle中,BFILE和CLOB也是用来存储大对象的类型,但BFILE存储的是文件系统中的外部文件,而CLOB用于存储非二进制的大型文本数据。 接下来,让我们探讨如何在Spring中与Oracle的BLOB字段交互。这通常涉及到以下几...
通过该控件,可以将客户端的文件上传到服务器端的Oracle数据库中,并存储为一个大对象。然后,服务器端的Java程序可以对该大对象进行存储和读取的操作。 在Java程序中,可以使用jdbc驱动程序来连接Oracle数据库,并...
此外,BFILE数据类型用于引用操作系统中的外部文件,但Oracle并不负责维护外部文件的数据完整性和并发性。 数据库的应用主要包括图件的存取方式和AutoCAD ActiveX技术的运用。采用BLOB数据类型存储地质图件,读取和...
本文主要探讨的是如何在Oracle数据库中有效地存储多媒体数据、文档和其他大文件,这些数据通常包含大量的字节,如视频、图片、音频和文档等。 在Oracle数据库中,大型数据对象(Large Data Object, LDO)是指那些...
4. 编写 Action 类:处理用户提交的表单,读取上传文件,将其保存到服务器的特定目录,并在数据库中存储文件路径或元信息。 5. 配置数据库:创建相应的表,包含存储图片路径或元数据的字段,可能需要使用 BLOB 或 ...
- 如果未指定存储参数,Oracle将使用默认值在表空间中创建这些段,段名自动生成。 - 使用`CREATE TABLE`语句时,可以指定存储参数,如`CHUNK`,以自定义LOB段的分配单元大小。 2. **存储参数配置** - `CHUNK`...