cx-Oracle读取cx_Oracle.LOB类型数据

什么是LOB类型数据
在数据库中 , LOB(Large (大对象))是用来存储大量的二进制和文本数据的一种数据类型 。在中开始提供 LOB 字段 , 在前最多只能存储 4G 数据 , 从开始 , 可以存储 8-128T 的数据 , 取决于你的数据库的块大小 。
LOB又分为两种类型:
【cx-Oracle读取cx_Oracle.LOB类型数据】内部LOB类型:将数据以字节流的形式存储在数据库的内部 。因而 , 内部LOB的许多操作都可以参与事务 , 也可以像处理普通数据一样对其进行备份和恢复操作 。如:
BLOB:二进制大对象 。定义一个 BLOB 变量 , 用于存储大量的二进制数据(如图像、视频、音频等) , 该二进制大对象存储于数据库中 。

cx-Oracle读取cx_Oracle.LOB类型数据

文章插图
CLOB:字符型大对象(单字节字符数据) 。定义一个 CLOB 变量 , 用于存储超长的文本数据 , 该字符型大对象存储于数据库中 。
NCLOB:字符型大对象(多字节国家字符数据) 。定义一个 NCLOB 变量 , 用于存储超长的文本数据 , 该字符型大对象存储于数据库中 。
外部LOB类型:在数据库内仅存储数据在操作系统中的位置信息 , 而数据的实体以外部文件的形式存在于操作系统的文件系统中 。因而 , 该类型所表示的数据是只读的 , 不参与事务 。如:
BFILE:二进制文件 。定义一个 BFILE 变量 , 它指向操作系统的一个文件 ,  会将其视为二进制数据进行处理 。
以前内容转载自: - LOB(大对象数据类型) , 欲详细了解请移步 。
.LOB类型数据如何查看(读取)
日前从查询数据时 , 本以为能正常返回需要的字符串数据 , 结果却返回了一个.LOB  , 这才第一次知道有这种类型 。
找了一通资料之后发现.LOB 有个read方法 , 我们只要先遍历.LOB  , 然后对每个元素使用read即可正常查看字符类型的原数据 。