2017-07-19 49 views
2

我正在使用Oracle APEX爲我們的用戶提供基於數據加載定義的CSV文件上傳功能。除了傳統的映射數據之外,我還從視圖wwv_flow_files中抓取BLOB列並將其保存到另一個表中,以便用戶隨時可以重新下載其上傳的文件。升級到APEX 5.1後,無法從Oracle APEX數據加載嚮導中獲取blob

現在我們的測試環境升級到APEX 5.1並且此選項不再有效。對於相應的文件上傳,在視圖wwv_flow_files中沒有條目。視圖apex_application_files也不包含一個。應用程序兼容模式設置沒有幫助。

是否有其他方法來抓取BLOB?

安裝的APEX版本是5.1.2.00.09。 Oracle數據庫版本是12.1.0.2.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表中的文件。

獲取對上傳文件的保留的最佳方法是在"Parse Uploaded Data"進程之前在"Data Load Source"頁上放置custom PL/SQL process - "copy_blob"。該過程中的代碼將BLOB從APEX_APPLICATION_TEMP_FILES(!)複製到您自己的表中。

+0

這樣做!非常感謝! –