我需要一種比varchar2(2000)更大的方式來打印我生成的XML。或者推薦比dbms_output.put_line(x)更好的方法,或者推薦一種不同的數據類型來存儲結果並打印出來。我是Oracle新手,全職工作是UI開發。如何打印由Oracle生成的大型XML字符串?
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段錯誤,無聲截斷,字符集問題。我希望別人有一個好的解決方案。 – willglynn