ORACLE LOB 大对象处理

LOB大对象处理:主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。

.  Oracle中的LOB数据类型分类
1,按存储数据的类型分:
①字符类型:
  CLOB:存储大量单字节字符数据。
  NLOB:存储定宽多字节字符数据。
②二进制类型:
  BLOB:存储较大无结构的二进制数据。
③二进制文件类型:
  BFILE:将二进制文件存储在数据库外部的操作系统文件中。存放文件路径。

2,按存储方式分:
①存储在内部表空间:
   CLOB,NLOB和BLOB
 ②指向外部操作系统文件:
   BFILE

二、大对象处理方法。参考书 美河提供.精通Oracle.10g.Pl.SQL编程

1、DBMS_LOB.Read():从LOB数据中读取指定长度数据到缓冲区的过程。

DBMS_LOB.Read(LOB数据,指定长度,起始位置,

存储返回LOB类型值变量);

2、DBMS_LOB.SubStr():从LOB数据中提取子字符串的函数。

DBMS_LOB.SubStr(LOB数据,指定提取长度,提取起始位置):

③:DBMS_LOB.InStr():从LOB数据中查找子字符串位置的函数。
   DBMS_LOB.InStr(LOB数据, 子字符串);

④:DBMS_LOB.GetLength():返回指定LOB数据的长度的函数。
   DBMS_LOB.GetLength(LOB数据);

⑤:DBMS_LOB.Compare():比较二个大对象是否相等。返回数值0为相等,-1为不相等。
   DBMS_LOB.Compare(LOB数据,LOB数据);

6、DBMS_LOB.Write():将指定数量的数据写入LOB的过程。
   DBMS_LOB.Write(被写入LOB, 写入长度(指写入LOB数据),写入起始位置(指被写入LOB),写入LOB数据);

7、DBMS_LOB.Append():将指定的LOB数据追加到指定的LOB数据后的过程。
   DBMS_LOB.Append(LOB数据,LOB数据);

8、DBMS_LOB.Erase():删除LOB数据中指定位置的部分数据的过程;
   DBMS_LOB.Erase(LOB数据,指定删除长度, 开始删除位置);

9、DBMS_LOB.Trim():截断LOB数据中从第一位置开始指定长度的部分数据的过程;
   DBMS_LOB.Trim(LOB数据,截断长度);

10、DBMS_LOB.Copy():从指定位置开始将源LOB复制到目标LOB;
   DBMS_LOB.Copy(源LOB,目标LOB,复制源LOB长度,复制到目标LOB开始位置,复制源LOB开始位置)

例如:循环输出xml大数据内容

declare

amount number;

buf varchar2(10000) := ‘‘;

temp varchar2(1000) := ‘‘;

begin

amount := 1;

for i in 1..200 loop

temp := ‘‘;

select dbms_lob.substr(krm.doc_content(clob类型),400,amount) into temp from km_review_main/*@ekp_link*/ krm

where krm.fd_id = ‘138eb83e89178bcce17136b43f8ab176‘;

amount := amount + 400;

DBMS_OUTPUT.put_line(temp);

end loop;

end;

参考网站:

http://blog.csdn.net/tianlesoftware/article/details/5070981

时间: 2024-12-17 03:36:52

ORACLE LOB 大对象处理的相关文章

Oracle数据库中的大对象(LOB)数据类型介绍

一.LOB数据类型的介绍 大对象(LOB)数据类型允许我们保存和操作非结构化和半结构化数据,如文档.图形图像.视频片段.声音文件和XML文件等.DMBS_LOB 包被设计用于操作 LOB 数据类型.从 Oracle 12c 开始,根据数据库块大小,LOB 最大可以存储 128TB 的数据,一个表可以有一个或多个 LOB 数据类型的列,如 二进制大对象(BLOB).字符大对象(CLOB).国家字符大对象(NCLOB)和BFILE. 重要的是,每当在表中创建 LOB 列时,实际上会创建两个不同的段:

使用SSH操作Oracle中BLOB大对象

package entity; /** * Bigobject entity. @author MyEclipse Persistence Tools */ public class Bigobject implements java.io.Serializable { // Fields private Integer id; private byte[] tblob; private String filename; // Constructors /** default construct

oracle lob move tablespace

oracle 大对象移动表空间 ALTER INDEX GHSJ_JCSJ.SYS_IL0000129600C00012$$ REBUILD  TABLESPACE GHSJ_JCSJ ORA-02327: cannot create index on expression with datatype LOB 将lob对象对应的列移动到相应的表空间,会自动创建之前的索引 ALTER TABLE  ghsj_jcsj.B_REPORT_HIS MOVE LOB (FILE_PATH) STORE

Oracle LOB

Oracle .NET Framework 数据提供程序包括 OracleLob 类,该类用于使用 Oracle LOB 数据类型. OracleLob 可能是下列 OracleType 数据类型之一: 数据类型 描述 Blob 包含二进制数据的 Oracle BLOB 数据类型,其最大大小为 4 GB.此数据类型映射到 Byte 类型的 Array. Clob 包含字符数据的 Oracle CLOB 数据类型,根据服务器的默认字符集,其最大大小为 4 GB.此数据类型映射到 String. N

oracle lob 简单介绍

何为LOB? lob为oracle数据库的一个大对象数据类型,可以存储超过4000bytes的字符串,二进制数据,OS文件等大对象信息.最大可存储的容量根oracle的版本和oracle 块大小有关. 有那几种可供选择的LOB类型? 目前ORACLE提供了CLOB,NCLOB,BLOB,BFILE共四种LOB类型,CLOB,NLOB为大字符串类型,NLOB为多语言集字符类型,类似于NVARCHAR类型,用他们代替以前的LONG类型;BLOG为大二进制类型,用来代替以前的LONG RAW类型;BF

oracle数据表对象

表示oracle数据库中非常重要的数据对象,也是主要的对象,今天,开始学习对表的管理!   一:表的数据类型 1:字符类型 CHAR :固定字符长度的字符串(查询速度快) vachar2 :变长字符串字段(节约空间) 2:数值类型 number(5,2) 前面整数,后面小数 3:日期类型 DATE   默认格式由NLS_DATE_FORMAT参数决定 4:LOB类型 BLOB:存储音乐.视频.图像等二进制文件 CLOB:字符格式的大对象 5:ROWID数据类型 伪列类型,存放数据记录的物理地址

[Oracle] Lob介绍

像Oracle这种关系型数据库,比较擅长处理结构化的数据,那么对于非结构化的数据,Oracle是怎么处理和存储的呢?Lob (Large Object)是Oracle专门用来处理半结构化和非结构化数据,它是一个大对象数据类型,可以存储超过4000字节的字符串.二进制数据. Lob的类型 有两种Lob,非常是Internal Lob和External Lob.所谓Internal Lob是指Lob数据存储在Oracle数据文件里,External Lob是指Lob数据存储在数据库外部的操作系统里.

PHP PDO 大对象 (LOBs)

应用程序在某一时刻,可能需要在数据库中存储"大"数据. "大"通常意味着"大约 4kb 或以上",尽管某些数据库在数据达到"大"之前可以轻松地处理多达 32kb 的数据.大对象本质上可能是文本或二进制. 在 PDOStatement::bindParam() 或 PDOStatement::bindColumn()) 调用中使用 PDO::PARAM_LOB 类型码可以让 PDO 使用大数据类型. PDO::PARAM_LOB

Oracle LOB类型

一.Oracle中的varchar2类型1.我们在Oracle数据库存储的字符数据一般是用VARCHAR2.VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同.2.在Oracle Database中,VARCHAR2 字段类型,最大值为4000:PL/SQL中 VARCHAR2 变量类型,最大字节长度为32767.3.当VARCHAR2容纳不下我们需要存储的信息时,就出来的Oracle的大数据类型LOB(La