升级到APEX 5.1后无法从Oracle APEX数据加载向导中获取blob

时间:2017-07-19 10:37:15

标签: oracle blob oracle-apex

我正在使用Oracle APEX根据数据加载定义为我们的用户提供CSV文件上载功能。除了传统的数据映射之外,我还从视图wwv_flow_files中抓取了BLOB列并将其保存到另一个表中,因此用户始终可以在以后重新下载上传的文件。

现在我们的测试环境已升级到APEX 5.1,此选项不再适用。视图wwv_flow_files中没有相应文件上传的条目。视图apex_application_files也不包含其中一个。应用程序兼容性模式设置没有帮助。

还有其他方法可以抓住BLOB吗?

安装的APEX版本为5.1.2.00.09。 Oracle数据库版本是12.1.0.2.0企业版。

1 个答案:

答案 0 :(得分:3)

自APEX 5.0起,文件上载功能已从使用WWV_FLOW_FILES表更改为APEX_APPLICATION_TEMP_FILES。新表格的附加属性为"Purge at",其值为"End of request""End of session"。因此开发人员不必再关心清理WWV_FLOW_FILES表了。

然而,

数据加载没有在APEX 5.0中使用该新功能,而是使用APEX 5.1移动到那里。这就解释了为什么你不再看到WWV_FLOW_FILES表中的文件了。

暂停上传文件的最佳方法是在custom PL/SQL process - "copy_blob"进程之前在"Data Load Source"页面上放置"Parse Uploaded Data"。该过程中的代码将BLOB从APEX_APPLICATION_TEMP_FILES(!)复制到您自己的表中。