如何在 Oracle Apex 中创建包含文件的列表

Posted

技术标签:

【中文标题】如何在 Oracle Apex 中创建包含文件的列表【英文标题】:How to create a column table that holds a file in Oracle Apex 【发布时间】:2020-07-15 18:27:44 【问题描述】:

我在 Oracle Apex 中创建了一个带有表单的报告,对于这个报告,我使用了一个有 5 列的表,其中 1 列是文件名 varchar2(500),它支持保存文件。在表单中,我有一个上传文件的页面项目,但是当我在表单中创建新记录时,会添加该记录而没有上传文件。

关于如何正确实现此过程的任何想法?我确定我的表格列是问题,但是我不知道如何解决它。

【问题讨论】:

【参考方案1】:

您的文件本身位于数据类型 BLOB 的列中,因为那是二进制数据,但您需要更多列。查看名为“Sample File Upload and Download”的示例应用程序,该应用程序有一个完整的示例,其中包含有关如何执行此操作的说明,周围还有很多博客解释了详细信息。

【讨论】:

【参考方案2】:

正如其他人所指出的,您需要创建一个包含 BLOB 列的表,文件将保存在其中。

为了实现它,直接上传到表是很复杂的,所以通常的标准是将文件上传项设置为上传到 apex_application_files 这是此类事情的默认表。然后运行的第二个进程从 :Pxx_FILE_UPLOAD_ITEM 中获取名称,并使用该名称在 apex_application_files 表上进行选择,然后将选定的 blob 插入到您的实际表中。

因为 apex_application_files 你实际上不能真正从数据库访问,只能通过 apex(你可能可以,但它会很复杂,我还没有)。

【讨论】:

【参考方案3】:

如果您提到的“文件”是例如一张 JPG 图片、一个 PDF 文件和类似的文件,那么您应该将该列创建为 BLOB

【讨论】:

可以是excel文件、word文件或pdf文件。 我来看看“示例文件上传和下载”应用程序。

以上是关于如何在 Oracle Apex 中创建包含文件的列表的主要内容,如果未能解决你的问题,请参考以下文章

通过在 Oracle Apex 中创建视图将 cols 转换为 oracle 中的行

Oracle ApeX (PL/SQL) - 从 JavaScript 变量中创建绑定变量

如何在 oracle 中创建具有对象数据类型的列

在 Oracle 自治数据库中,尝试使用 apex_util.create_user 在 plsql 程序中创建工作区。但失败了

如何在报告中创建一个包含所有已检查列名称的列?

如何从 Windows 批处理执行驻留在 Oracle APEX 上的 SQL 脚本