Oracle apex 在Oracle APEX中上载和解析文件

Oracle apex 在Oracle APEX中上载和解析文件,oracle-apex,Oracle Apex,我正试图找到在OracleApex(当前版本20.1)中上传、解析和处理文本文件的最佳方法。商务案例:我必须上传文本文件,第一行将保存到表A。 Rest行包含一些记录(列由管道分隔)应进行验证。之后,应将正确的记录保存到表B中,或者,如果出现错误,则应将其保存到表C(错误日志)。 我尝试使用数据加载向导,但它不符合我的要求 现在我在页面中添加了一个“文件浏览…”项,在页面提交后,我可以在blob\u内容的APEX\u应用程序\u TEMP\u文件中找到该文件 除了使用来自APEX\u应用程序\u

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

现在我在页面中添加了一个“文件浏览…”项,在页面提交后,我可以在blob\u内容的
APEX\u应用程序\u TEMP\u文件中找到该文件

除了使用来自
APEX\u应用程序\u TEMP\u文件的blob\u内容之外,还有其他选项可以使用该文件吗。我发现很难处理这种类型的数据

文本文件如下所示:

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

查看APEX_DATA_PARSER.PARSE table函数。它解析CSV文件并以行和列的形式返回值。在这篇博文中有更详细的描述:

查看APEX\u DATA\u PARSER.PARSE table函数。它解析CSV文件并以行和列的形式返回值。在这篇博文中有更详细的描述:

该函数仅使用文件扩展名来区分分隔文件、XLSX文件、XML文件或JSON文件。因此,只需传入一个静态文件名,如“file.csv”。这就足够了。

该函数使用文件扩展名仅用于区分分隔文件、XLSX文件、XML文件或JSON文件。因此,只需传入一个静态文件名,如“file.csv”。这就足够了。

只需传递“file.csv”(字面意思)作为p\u file\u name参数。APEX_DATA_解析器不关心“真实”文件名……

只需传递“file.csv”(字面意思)作为p_file_name参数。APEX_DATA_解析器不关心“真实”文件名……

我认为数据加载wizzard为您提供了最多的选择,任何其他选择都将需要更多的工作。我们有一个用户可以上传json文件的应用程序。我使用apex_应用程序_temp文件存储数据,然后将其转换为clob(谷歌如何实现)。我认为数据加载wizzard为您提供了最多的选择,任何其他选择都将需要更多的工作。我们有一个用户可以上传json文件的应用程序。我使用apex_application_temp文件来存储数据,然后将其转换为clob(谷歌如何实现)。这很完美,但只有一个“小问题”这个文件是文本文件,但扩展名是.exp,apex_data_PARSER.PARSE需要.CSV.JSON。TXT在将上传文件的扩展名作为参数提供给APEX_DATA_PARSER.PARSE之前,是否有一个选项来更改blob中上传文件的扩展名?也许有可能更改上传文件的mime类型?这很完美,但只有一个“小问题”这个文件是文本文件,但扩展名奇怪。exp,APEX_DATA_PARSER.PARSE需要.CSV、.JSON。TXT在将上传文件的扩展名作为参数提供给APEX_DATA_PARSER.PARSE之前,是否可以更改blob中上传文件的扩展名。解析?可能有可能更改上传文件的mime类型?我需要避免每次用户上传文件时强制用户更改文件扩展名。如何上载具有不同扩展名的文件并强制将其用作.csv?我需要避免每次上载文件时强制用户更改文件扩展名。如何上载具有不同扩展名的文件并强制将其用作.csv文件?