Oracle8i 大对象Blob的存取,绝对高难度

NewSea 2000-10-12 10:02:00
如何使用DBMS_LOB包存取Oracle8i 大对象Blob,SOS,最好有源代码,
如有存储过程或触发器代码最好,高分奉送。SOS !!!
...全文
166 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewSea 2000-10-23
  • 打赏
  • 举报
回复
Zy,谢谢你。我想更深入了解一下,能否直接使用“dbms_lob”包生成文件输出,
若能,最好有源代码。感激不尽!!!SOS
zy 2000-10-17
  • 打赏
  • 举报
回复
1
create table test
( id int,
blob_col blob
)

2 将 'c:\images\aria.gif'文件内容load到blob字段中去
create or replace procedure insert_img as
f_lob bfile;
b_lob blob;
begin
insert into blobs values ( 1, empty_blob() )
return blob_col into b_lob;

f_lob := bfilename( 'c:\images', 'aria.gif' );
dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength(f_lob) );
dbms_lob.fileclose(f_lob);
commit;
end;

3 读blob字段内容
create or replace procedure get_img as
vblob blob;
buffer raw(32000);
buffer_size integer := 32000;
offset integer := 1;
length number;
begin
owa_util.mime_header('image/gif');
select blob_col into vblob from blobs where id = 1;
length := dbms_lob.getlength(vblob);
while offset < length loop
dbms_lob.read(vblob, buffer_size, offset, buffer);
htp.prn(utl_raw.cast_to_varchar2(buffer));
offset := offset + buffer_size;
end loop;
exception
when others then
htp.p(sqlerrm);
end;

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧