错误 - ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换

时间:2014-08-27 04:08:51

标签: sql oracle stored-procedures blob clob

我正在尝试读取blob消息并在我的一个程序中将其显示为变量,但我收到以下错误:

  

错误 - ORA-22835:缓冲区太小,CLOB无法CHAR或BLOB格式为RAW   转换(实际:9923,最大值:2000)

我已经google搜索并找到了修改blob消息的建议,如下所示,但宁愿将完整的blob消息显示为字符串。

UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(variable_name,2000,1)) 

如何显示完整的讯息?我可以更改数据库或过程级别的设置吗?

2 个答案:

答案 0 :(得分:4)

我通过使用

中描述的选项来解决这个问题

http://www.dba-oracle.com/t_convert_blob_varchar_datatype.htm

答案 1 :(得分:0)

尝试使用DBMS_LOB.GETLENGTH(),而不是修剪字符串