Oracle读取BLOB数据的方法(oracle读取blob)
Oracle中BLOB(Binary Large OBject)是用户可以存储二进制文件的数据类型,其大小可达到4GB以上,因此非常适用于存储非文本数据,如图片、视频等等。要读取BLOB数据,可以使用Oracle提供的两个函数:getblob()和dbms_lob.read()。
用getblob()函数读取BLOB数据,具体步骤如下:
(1)建立连接
con = cx_Oracle.connect(conn_str)
(2)执行查询语句
cursor = con.cursor()
sql = 'SELECT * FROM employee'cursor.execute(sql)
(3)使用getblob()函数读取BLOB数据
while row = cursor.fetchone():
blob_field = row[2] blob = blob_field.getblob()
data = blob.read() with open('data','wb') as f:
f.write(data)
要使用dbms_lob.read()函数读取BLOB数据,需要使用`dbms_lob` 包,步骤如下:
(1)导入 dbms_lob 包
from cx_Oracle import dbms_lob
(2)建立连接
con = cx_Oracle.connect(conn_str)
(3)创建 LOB 对象
lob = dbms_lob.BLOB(cx_Oracle.connect)
(4)执行查询语句
cursor = con.cursor()
sql = 'SELECT * FROM employee'cursor.execute(sql)
(5)使用 dbms_lob.read()函数读取 BLOB 数据
while row = cursor.fetchone():
blob_field = row[2] data = dbms_lob.read(lob, blob_field)
with open('data','wb') as f: f.write(data)
以上是Oracle 读取BLOB数据的方法,在操作BLOB类型的数据时,我们可以使用getblob()和dbms_lob.read()函数来读取BLOB格式数据,在使用前,要先确保我们表单中存在BLOB类型数据,并注意选择正确的函数来读取BLOB数据。