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;
/
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;
/
解决方案 »
- !!!分布式锁定ORA-02049
- 关于orc多表查询的问题 求解
- 这个几个列的和的值怎么写,错误在下面
- 请高手帮我看看oracle 10 rac实例启动出现问题 谢谢了!!!!!!
- powerdesigner中联合主键可以为空如何设置
- oracle 多个表外连接 取出几个字段的值
- 急!!!oracle7.3导入数据出错,请帮忙,谢谢!
- 请教:操作系统崩溃后,如何恢复Oracle数据?
- 那位同僚给我贴上这个 CREATE DATABASE LINK 语句的详细说明来,谢谢。手头没有资料,Oracle帮助又不知怎么找。
- 我是个刚接触Oracle的新手,谁能告诉我,如何在Oracle中建立一个数据库?(不是用SQL*Plus)
- 请问如何在VC下使用OCI访问Oracle,如何做,请大虾指点一二。
- pro c 在vc下链接的问题(再现等待
utl_raw
我现在用的是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对象调用存储过程,可以用这个办法吗?有资料给我发些吧。
要注意大对象用法