是否可以为Left Joined经典报告创建下载链接?

时间:2018-02-04 17:37:02

标签: oracle-apex

我在页面中有经典报告,它有以下SQL查询:

AC.FILE_DATA

我想要FILE_DATA的下载链接,即BLOB。因此,在属性Type: Download BLOB Table Name: AC BLOB Column: FILE_DATA Primary Key Column 1: ID 列中,我设置了以下内容:

AC.FILE_DATA

然后该页面在经典报告区域的位置生成错误:

  

错误:ORA-06502:PL / SQL:数字或值错误:字符到数字   转换错误

查看调试日志会显示更多内容:

  

" AC区域中的异常":Sqlerrm:ORA-06502:PL / SQL:数值或值   错误:字符到数字转换错误Backtrace:ORA-06512:at   " APEX_050100.WWV_RENDER_REPORT3",第7965行

在左连接中没有Public Function MyCode(ByVal txt As String) As String Dim maxi As Double, db As Double maxi = -9999 arr = Split(Replace(txt, "=", ","), ",") For Each a In arr If IsNumeric(a) Then db = CDbl(a) If db > maxi Then maxi = db End If Next a MyCode = CStr(maxi) End Function ,没有例外。那么在报表查询中使用连接时,我真的可以使用blob下载列吗?

1 个答案:

答案 0 :(得分:1)

据我所知,它与(左)加入无关,而是与您创建下载链接的方式无关。 NOT 应该是BLOB列名,但是:

dbms_lob.getlength(ac.file_data) download

或者,应用于您的查询,

SELECT CELLS.ID, 
       CELLS.NAME, 
       CELLS.NUM, 
       CELLS.AC_ID, 
       AC.SERIAL,
       AC.FILE_NAME, 
       --
       dbms_lob.getlength(AC.FILE_DATA) download  --> this
FROM CELLS 
LEFT JOIN AC
ON CELLS.AC_ID = AC.ID
WHERE CELLS.AC_ID IS NOT NULL
ORDER BY CELLS.NUM

“下载”列设置:

  • 类型:下载BLOB
  • 表名:AC
  • BLOB专栏:FILE_DATA
  • 主键列1:ID

保存,运行 - 应该没问题。