有没有什么方法可以将clob作为文本(或文件)返回,而不先拆分成更小的片段?
我试着用PL/SQL
源代码创建一个GET
处理程序,它只会这样做:
declare
txt clob;
begin
...-- set clob
htp.p(txt);
end;
然后我得到了错误ORA-06502: PL/SQL: numeric or value error
。
然后我尝试将clob切成更小的片段,并多次调用htp.p
,这很有效,但我想知道是否有一种方法可以一次性发送整个东西。
2条答案
按热度按时间bjg7j2ky1#
文档指出
htp.p
和htp.prn
只接受VARCHAR2,所以你受到varchar2的最大大小的限制,如果clob长度超过这个值,它会抛出一个错误。这是你可以做的:在4k块中循环通过clob并使用
htp.prn
输出。避免在循环中使用htp.p
,因为这会生成一个换行符,这可能会扰乱输出,例如如果你正在生成json。通过设置mime头让浏览器知道他得到了什么也是一个很好的做法。suzh9iv82#