【问题标题】:Oracle Apex: show picture in report from a different table?Oracle Apex:在不同表格的报告中显示图片?
【发布时间】:2017-09-08 23:50:36
【问题描述】:

我有以下顶级报告:


select id,
    user_ as participant,
    --This is a blob
    dbms_lob.getlength(MY_UTILITIES.GetUserPicture(user_)) as Picture,  
    order_ as order_
from My_Operations

我想在报告中将图片列显示为图像。它是一个存储在另一个表中的 blob:表 My_Users(主键列名称为 'ID')

我的图片栏配置如下:

enter image description here

报告生成但图片不显示:

enter image description here

我确定使用这个实现 Apex 无法知道字段图片对应于表 My_Users 中的行 X。

请问有人知道怎么改吗?

干杯,

【问题讨论】:

  • 这行不通。你的两张表的结构是什么?

标签: oracle oracle-apex


【解决方案1】:

APEX 在报告中显示图像的方式看起来有点奇怪和古怪。你需要做的显然是无证的,但我相信它如下:

  1. 将显示为图像的列必须包含 BLOB 列的长度(您已正确完成)。我是从this blog post 发现的。

  2. 为该列的 BLOB 属性中指定的主键列 1 指定的列也必须出现在报告中同名。我通过反复试验发现了这一点。

您已将列 user_ 别名为 participant。 APEX 要求将其称为 ID - 但您已经有一个名为 ID 的不同列!所以我认为你应该试试这个:

select id as op_id,
    user_ as id,
    dbms_lob.getlength(MY_UTILITIES.GetUserPicture(user_)) as Picture,  
    order_ as order_
from My_Operations

【讨论】:

  • 请注意,如果您想完全控制它,还有另一个选项。创建一个将 BLOB 从表下载到最终用户的应用程序进程。现在,使用包裹在 -Tag 中的apex_util.prepare_url 来提供链接。如果你有兴趣,我可以提供一个完整的例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-21
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
相关资源
最近更新 更多