我正在使用 Oracle APEX 5.1 版,用户正在尝试从 Oracle APEX 打印出 BI 报告。目前,我们正在使用“APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT”(签名 4)将 APEX 页面中的数据打印到 BI 报告中。
一切正常,直到程序在 XML 标记中遇到“&”或“<”或“>”。当“XML BI 报告”或“APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT”(我提到两者是因为我不知道问题发生在哪里)遇到这些字符时,报告显示为空白。如果手动从 XML 标记中删除上述字符,则 BI 报告可以正常工作并打印出来。
重现步骤: 1) 创建如下示例中给出的 XML 数据。请参阅“GMRISKMITIGATION”XML 标记中的“&”(您可以将此“&”替换为“<”或“>”,您将获得相同的结果)
<?xml version="1.0"?>
<ROWSET>
<ROW>
<ID>1234</ID>
<ADDITIONAL_COMMENTS>New "test" front test test test test test test.</ADDITIONAL_COMMENTS>
<GMRISKMITIGATION> test test test test & test.</GMRISKMITIGATION>
</ROW>
</ROWSET>
2) 现在您有了数据,然后使用下面给出的例程从 APEX 页面中的“按钮”下载 BI 报告。
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT (p_file_name => 'myreport',p_content_disposition => 'attachment', p_report_data => l_clob, /* XML data in clob format */ p_report_layout => l_file_as_clob,p_report_layout_type => 'rtf',
p_document_format => 'rtf');
3) 现在,如果您按下按钮,BI 报告将成功下载,但将为空。