oracle – 在BLOB上使用DBMS_LOB.SUBSTR导致ORA-06502

前端之家收集整理的这篇文章主要介绍了oracle – 在BLOB上使用DBMS_LOB.SUBSTR导致ORA-06502前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试在BLOB字段上运行dbms_lob.substr函数时,我收到以下错误

ORA-06502: PL/sql: numeric or value error: raw variable length too long

ORA-06512: at line 1

我的查询

select dbms_lob.substr(my_report,10000,1) 
from my_table where my_table.report_id = :myid

根据dbms_lob.substr documentation,我应该能够使用第二个参数中的值到32767,并且报告的大小超过200,000字节,因此它在该范围内.

在使用数字后,我发现我可以在量参数(第二个参数)中使用的subs值为substr函数.

有谁知道为什么?

解决方法

函数将结果作为RAW数据类型返回,RAW数据类型的最大大小为2000字节.

参考文献:

http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/sql_elements2a.htm#SQLRF0021

http://dbaforums.org/oracle/index.php?showtopic=8445

猜你在找的Oracle相关文章