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

本文介绍了ORACLE数据库中的LOB类型数据,它用于存储大量二进制和文本数据,分为内部LOB和外部LOB类型。内部LOB可参与事务,外部LOB只读且不参与事务。还提到从oracle查询数据时返回cx_Oracle.LOB object,可通过遍历并使用read方法查看原数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是LOB类型数据

在ORACLE数据库中,LOB(Large Objects(大对象))是用来存储大量的二进制和文本数据的一种数据类型。在 Oracle8i 中开始提供 LOB 字段,在 Oracle10g 前最多只能存储 4G 数据,从 Oracle10g 开始,可以存储 8-128T 的数据,取决于你的数据库的块大小。

LOB又分为两种类型:

内部LOB类型:将数据以字节流的形式存储在数据库的内部。因而,内部LOB的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作。如:

            BLOB:二进制大对象。定义一个 BLOB 变量,用于存储大量的二进制数据(如图像、视频、音频等),该二进制大对象存储于数据库中。

            CLOB:字符型大对象(单字节字符数据)。定义一个 CLOB 变量,用于存储超长的文本数据,该字符型大对象存储于数据库中。

            NCLOB:字符型大对象(多字节国家字符数据)。定义一个 NCLOB 变量,用于存储超长的文本数据,该字符型大对象存储于数据库中。

外部LOB类型:在数据库内仅存储数据在操作系统中的位置信息,而数据的实体以外部文件的形式存在于操作系统的文件系统中。因而,该类型所表示的数据是只读的,不参与事务。如:

            BFILE:二进制文件。定义一个 BFILE 变量,它指向操作系统的一个文件,Oracle 会将其视为二进制数据进行处理。

以前内容转载自:Oracle - LOB(大对象数据类型),欲详细了解请移步。

cx_Oracle.LOB类型数据如何查看(读取)

日前从oracle查询数据时,本以为能正常返回需要的字符串数据,结果却返回了一个cx_Oracle.LOB object,这才第一次知道有这种类型。

找了一通资料之后发现cx_Oracle.LOB object有个read方法我们只要先遍历cx_Oracle.LOB object,然后对每个元素使用read即可正常查看字符类型的原数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值