【问题标题】:Oracle Apex IR can't display clobOracle Apex IR 无法显示 clob
【发布时间】:2018-12-11 10:30:06
【问题描述】:

我有一个数据库表,其列 txt 为 clob。现在我正在尝试在 oracle apex 中显示带有交互式报告的表格。但我得到这个错误:

ora-06502 pl/sql 数字或值错误字符串缓冲区太小

有什么问题?

【问题讨论】:

    标签: oracle oracle-apex oracle-apex-5


    【解决方案1】:

    我找不到证实这一点的文档,但我怀疑 Interactive Report 在幕后将 CLOB 数据加载到 PL/SQL VARCHAR2 变量中,该变量将被限制为 32K 字节。只要您的 CLOB 数据不超过该值就可以,但如果更大,您将收到 ORA-06502 错误。

    与其尝试在报告中显示完整的 CLOB 内容(这对于大量内容来说看起来并不好),您可以显示前几百个字符并有一个链接以在模式页面中显示其余部分 (例如)。在那里,您可以读取块中的 CLOB 数据并使用 htp.p 将这些块写入 PL/SQL 区域中。或者,该链接可以将 CLOB 数据下载到文件中。

    【讨论】:

    • 一位同事告诉我,我只能在 IR 中显示 21195 个字符。所以我必须修剪肉块。
    • Apex 中的所有内容都是 VARCHAR2,因此您不能真正使用 CLOB。充其量,您可以进行隐式类型转换。但老实说,32 KB 大约是 5 页键入的文本,因此您可能不应该尝试在报告中显示它。
    猜你喜欢
    • 2019-01-31
    • 2021-08-14
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多