【发布时间】:2012-10-05 05:01:35
【问题描述】:
我需要比 varchar2(2000) 更大的东西才能打印我生成的 XML。要么推荐比 dbms_output.put_line(x) 更好的方法,要么推荐不同的数据类型来存储结果然后打印。我是 Oracle 新手,全职工作是 UI 开发。
declare
v_ctx dbms_xmlgen.ctxHandle;
x varchar2(2000); -- I need something bigger than varchar2(2000)
begin
v_ctx := DBMS_XMLGen.newContext('
select
baz as "Baz"
from schema.table_with_10000_rows');
DBMS_XMLGen.setRowsetTag(v_ctx, 'Foo');
DBMS_XMLGen.setRowTag(v_ctx, 'Bar');
x := dbms_xmlgen.getxml(v_ctx);
dbms_output.put_line(x);
end;
【问题讨论】:
-
我以前去过那里。转换为
BLOB/CLOB原则上似乎很好,但实际上我们在堆栈的所有层都遇到了各种问题:OCI 段错误、静默截断、字符集问题。我希望其他人有一个好的解决方案。