毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

oracle_clob转换为varchar2报错string buffer too small

更新时间:2012-5-23:  来源:毕业论文

过程中 有个变量 V_GZ clob;  
dbms_lob.getlength(V_GZ)=4000
 我想 把他存到varchar2变量 v_gz_new里面
我用 这个
v_gz_new :=dbms_lob.substr(V_GZ,4000,1);
就会报错string buffer too small
截取2000的时候不报错

然后我又想分开拼接
v_gz_new1 :=dbms_lob.substr(V_GZ,2000,1);
v_gz_new2 :=dbms_lob.substr(V_GZ,2000,2000);
v_gz_new :=v_gz_new1||v_gz_new2;结果拼接的这句又报错了 
请问各位大神,这个怎么解决呢?

CLOB存放的是字符集,varchar2存放的是字节,一个字符可以包含多个字节,从你的描述中可以看出你的环境是一个字符包含2个字节,而varchar2的最大长度是4000个字节,所以你只能取v_gz_new1 :=dbms_lob.substr(V_GZ,2000,1); 
v_gz_new varchar2(4000);v_gz_new1 varchar2(4000);v_gz_new2 varchar2(4000);

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。