导出oracle大字段BLOB,CLOB

create or replace procedure sp_lob_exp as
begin
declare
v_file_1 UTL_FILE.FILE_TYPE;
v_id varchar2(200);
v_b_lob_1 BLOB;
v_c_lob_1 CLOB;
v_len number;
v_pos number:=1;
v_amount BINARY_INTEGER:=32767;
v_data_amount BINARY_INTEGER:=32767;
v_buffer RAW(32767);
v_data_buffer varchar2(4000);
begin
for rec in
(
select xx as id from xx
)
LOOP
v_id:=rec.id;
v_b_lob_1:=rec.xx;
v_pos:=1;
v_len:=DBMS_LOB.getlength(v_b_lob_1);
v_file_1:=UTL_FILE.FOPEN(‘EXP_UTL_FILE目录’,‘文件名’,‘wb’,32767);
WHILE v_pos<v_len LOOP
DBMS_LOB.read(v_b_lob_1,v_amount,v_pos,v_buffer);
UTL_FILE.put_raw(v_file_1,v_buffer,TRUE);
v_pos:=v_pos+v_amount;
END LOOP;
UTL_FILE.fclose(v_file_1);

END LOOP;

CLOB wb 改 w put_raw 改 put

记得创建目录
create or repalace directory EXP_UTL_FILE as ‘/oracle/home/exp’;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值