首页 > 解决方案 > 在 Oracle APEX 中上传和解析文件

问题描述

我正在尝试找到在 Oracle APEX(当前版本 20.1)中上传、解析和处理文本文件的最佳方式。商业案例:我必须上传文本文件,第一行将保存到表 A。其余行包含一些记录(列是管道分隔)应该进行验证。之后,正确的记录应该保存到表 B,或者如果有一些错误,它应该保存到表 C(错误日志)。我尝试使用数据加载向导做一些事情,但它不符合我的要求。

现在我在页面中添加了一个“文件浏览...”项目,页面提交后我可以APEX_APPLICATION_TEMP_FILES在 blob_content 中找到这个文件。

除了使用来自APEX_APPLICATION_TEMP_FILES. 我发现处理数据类型很困难。

文本文件看起来像这样:

2020-06-05 info: header line 
2020-06-05|columnAValue|columnBValue|
2020-06-05|columnAValue||columnCValue
2020-06-05|columnAValue|columnBValue|columnCValue

标签: oracle-apex

解决方案


查看 APEX_DATA_PARSER.PARSE 表函数。它解析 CSV 文件并将值作为行和列返回。在此博客文章中对其进行了更详细的描述: https ://blogs.oracle.com/apex/super-easy-csv-xlsx-json-or-xml-parsing-about-the-apex_data_parser-package


推荐阅读