• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

如何得到long raw字段,所包含内容的字节数

Sun_Libra 2003-04-05 08:29:23
rt
...全文
16 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
beckhambobo 2003-04-07
那转用blob或clob吧,其次,用dbms_lob包来读写。
要注意大对象用法
回复
428117 2003-04-06
大侠好:
我现在用的是long raw 型字段。写进去没问题,读出来时就出错。试了下一下只能读出4096字节字段,
怎么循环都没有用,假如不用循环,直接想一次全部读出也只能设置最大值到4096。
会不是oracle 配置有关。请帮忙,很急的。
下面是我写入代码。
i=0
chunksize=10240
totalstr=request.form("text")
totalsize=len(totalstr)
num=totalsize\chunksize
remsize=totalsize mod chunksize
for i=0 to num
if i=num then
chunksize=remsize
end if
textstr=mid(totalstr,i*10240+1,chunksize)
oradynaset.fields("text").value=textstr
oradynaset.fields("text").dbappendchunk(textstr)
next

下面是我读取的代码。

if oradynaset.recordcount>0 then
chunksize=1024‘你说这里能设到64280,我只能设到4096,再大就读不出了
i=0
do
curchunk=oradynaset.fields("text").dbgetchunk(i*chunksize,chunksize),这里改最大值也没用。
cursize=len(curchunk)
str=str+curchunk
i=i+1
loop until cursize<chunksize
end if
,另外,我再试了用clob型,用oo4o对象调用存储过程,可以用这个办法吗?有资料给我发些吧。
回复
jiezhi 2003-04-05
see:oracle pl/sql supply package reference
utl_raw
回复
wenzhulz 2003-04-05
use this function: UTL_RAW.LENGTH

下面是示例函数:
CREATE OR REPLACE FUNCTION rtn_bytes
RETURN NUMBER AS
v_raw mytab.mycol%type;
BEGIN
select mycol into v_raw from mytab;
return UTL_RAW.LENGTH(v_raw);
END;
/

回复
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2003-04-05 08:29
社区公告
暂无公告