在Oracle中对Blob类型的读操作的例子
2007-05-17 13:39
281 查看
SET SERVEROUTPUT ON
DECLARE
vs_temp VARCHAR2(200);
vr_raw RAW(32000);
vb_blob BLOB;
vn_blob_length INTEGER;
vn_temp NUMBER(3);
--vn_temp number;
in_blob_length INTEGER;--要读取的字节数
in_offset NUMBER(3);--偏移量
ib_byte NUMBER;
BEGIN
SELECT tblob INTO vb_blob FROM test_blob WHERE name = 'zhang' FOR UPDATE;
--将blob类型的数据读入raw类型变量中
--vn_blob_length := dbms_lob.getlength(vb_blob);
--Dbms_Output.put_line('vn_blob_length='||vn_blob_length);
--dbms_lob.read(vb_blob,vn_blob_length,1,vr_raw);
--Dbms_Output.put_line('vs_temp='||vs_temp);
--1)字符串
in_blob_length := 3;
in_offset := 1;
--从偏移量为in_offset的位置,读in_blob_length字节的数据进入vr_raw中
DBMS_LOB.read(vb_blob,in_blob_length,in_offset,vr_raw);
--将raw类型变量转成varchar型
vs_temp := UTL_RAW.CAST_TO_VARCHAR2(vr_raw);
DBMS_OUTPUT.put_line('vs_temp='||vs_temp);
DBMS_OUTPUT.put_line(LENGTH(vs_temp));
--2)4个字节整数
in_blob_length := 4;
in_offset := 4;
DBMS_LOB.read(vb_blob,in_blob_length,in_offset,vr_raw);
--将raw类型变量转成number型
vn_temp := UTL_RAW.cast_to_binary_integer(vr_raw);
DBMS_OUTPUT.put_line('vn_temp='||vn_temp);
DBMS_OUTPUT.put_line(LENGTH(vn_temp));
--3.一个字节整数
in_blob_length := 1;
in_offset := 8;
DBMS_LOB.read(vb_blob,in_blob_length,in_offset,vr_raw);
vs_temp := UTL_RAW.CAST_TO_VARCHAR2(vr_raw);
DBMS_OUTPUT.put_line('vs_temp='||vs_temp);
DBMS_OUTPUT.put_line(LENGTH(vs_temp));
--对于'0'会输出48 ,上面的转换则会输出'0'
--ib_byte := utl_raw.cast_to_binary_integer(vr_raw);
--Dbms_Output.put_line('ib_byte='||ib_byte);
--Dbms_Output.put_line(length(ib_byte));
--blob的长度
DBMS_OUTPUT.put_line('=='||DBMS_LOB.getlength(dst_file));
COMMIT;
END;
/
相关文章推荐
- 在Oracle中对Blob类型的写操作的例子
- oracle对大对象类型操作:blob,clob,nclob
- oracle对大对象类型操作:blob,clob,nclob,bfile
- 利用JDBC操作Oracle CLOB和BLOB类型数据
- 【转】oracle对大对象类型操作:blob,clob,nclob,bfile
- 使用JDBC4.0操作Oracle中BLOB类型的数据方法
- oracle blob数据类型存储读取的小例子
- java 操作oracle的blob类型数据
- JDBC 对oracle 的clob ,blob类型的操作方式
- 使用java JDBC方式操作oracle blob类型数据
- 学习操作oracle.sql.Blob数据类型,向数据库插入Blob数据类型的数据
- 使用JDBC4.0操作Oracle中BLOB类型的数据方法
- 【转】oracle对BLOB类型数据的操作与性能问题
- oracle对BLOB类型数据的操作与性能问题
- 操作Oracle类型CLOB和BLOB
- oracle对BLOB类型数据的操作与性能问题
- Hibernate操作Blob类型字段出现java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/String;)Ljava/sql/
- java操作Oracle大数据类型BLOB的存取
- (转)通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- 使用java JDBC方式操作oracle blob类型数据