在 Oracle Application Express 3.1 中定义和查看 BLOB 数据

目的

本教程将向您介绍如何使用 Oracle Application Express 3.1 创建报表和表单以在数据库中插入和查看 BLOB 数据。

所需时间

大约 30 分钟

主题

本教程包括下列主题:

 概述
 前提条件
 更改表以添加 BLOB 数据
 创建带报表的表单
 在表单中查看 BLOB 数据
 在报表中查看 BLOB 数据
 总结
 相关信息

查看屏幕截图

 将光标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。

概述

声明式 BLOB 支持能够以声明方式将文件上载到表单中以及使用报表下载或显示文件。您还可以通过 PL/SQL 以编程方式显示和下载 BLOB。 有关更多信息,单击关于 BLOB 的 help 和 search。

要获得有关 3.1 版新特性的更多信息,单击这里

本教程将向您介绍如何向表中添加 BLOB 数据,然后在报表和表单中使用该数据。

返回主题列表

前提条件

开始本教程之前,您应该:

1.

安装 Oracle 数据库 9.2 或更高版本。

2.

下载并配置 Oracle Application Express 3.1。

3.

这里下载 OEHR 示例对象打包应用程序,并将其导入到 Oracle Application Express 3.1 实例中。

4.

下载并解压缩 blob.zip 文件,该文件包含一个使用 BLOB 列信息修改 OEHR_EMPLOYEES 的脚本。

5.

要完成本教程,您需要完成在 Oracle Application Express 3.1 中构建和定制交互式报表教程。或者,您可以将新特性应用程序作为一个打包应用程序导入 Application Express 中。该文件位于此处

注:应用程序编号和页面编号可能与屏幕截图略有不同。

 

返回主题列表

更改表以添加 BLOB 数据

您需要在 OEHR_EMPLOYEES 表中添加 BLOB 列、PHOTO 以及 MIMETYPE、FILENAME 和 LAST_UPDATE_DATE 等列。执行以下步骤:

1.

首先需要在表中定义 BLOB 列。在本例中,您将向 OEHR_EMPLOYEES 表添加 PHOTO 列。此外,您还将创建 MIMETYPE、FILENAME 和 LAST_UPDATE_DATE 列,以便可以存储有关照片的特定属性并以不同方式查看。导航到 SQL Workshop > SQL Script

 

2.

单击 Upload

 

3.

从前提条件中将文件下载并解压缩到的目录中选择 addblob.sql 文件。在名称域中输入一个名称,然后单击 Upload

 

4.

选择上载的文件。

 

5.

单击 Run

 

6.

在确认窗口中,单击 Run

 

7.

您的脚本已提交执行。单击 View Results 图标。

 

8.

表已成功修改,添加了 PHOTO BLOB 列、MIMETYPE、FILENAME 和 LAST_UPDATE_DATE。单击 Application Builder 选项卡。

 

返回主题列表

创建带报表的表单

要加载和查看 BLOB 数据,您需要创建一个带报表的表单。执行以下步骤:

1.

导航到您的 New Features Application 页面。单击 Create Page

 

2.

单击 Form 页面类型。

 

3.

单击 Form on a Table with Report

 

4.

单击 Next

 

5.

选择或输入 OEHR_EMPLOYEES 表,然后单击 Next

 

6.

为 Implementation 选择 Classic,在 Page Name 和 Region Title 中输入 Maintain Employee Information,然后单击 Next

 

7.

接受默认选项,然后单击 Next

 

8.

对于报表,您希望从列清单中选择 FIRST_NAME、LAST_NAME、EMAIL 和 PHOTO,然后单击 Next

 

9.

接受默认选项,然后单击 Next

 

10.

在 Page Name 和 Region Title 中输入 Maintain Employee Details,然后单击 Next

 

11.

接受默认选项,然后单击 Next

 

12.

接受默认选项,然后单击 Next

 

13.

选择除 MIMETYPE、FILENAME 和 LAST_UPDATE_DATE 之外的所有列,单击 Next。注:未包括的列将在添加 PHOTO 时自动填充。

 

14.

接受默认选项,然后单击 Next

 

15.

单击 Finish

 

16.

单击 Run Page

 

17.

随即显示报表。目前,Photo 列中没有任何数据,因为您尚未上载任何 BLOB 文件。单击某个员工的 Edit 图标。

 

18.

随即显示表单。您可以添加一张照片。单击 Browse...选择您的文件(本例中为 dog.gif),然后单击 Open

 

19.

单击 Apply Changes

 

20.

注意,对于您添加了照片的记录,报表现在有一个 Download 链接。单击 Download 链接。

 

21.

该 Download 链接将打开一个窗口,允许您下载文件,但是不提供文件的名称或复制位置。在下一部分中,您将检查如何在表单和报表中指定与 Photo 列相关的参数。

 

返回主题列表

在表单中更新和查看 BLOB 数据

您可以更改 BLOB 数据的显示方式(内嵌或作为附件)。执行以下步骤:

1.

单击您在前面添加了照片的员工的 View 图标。

 

2.

注意,系统将自动显示一个 Download 链接。单击开发人员工具栏中的 Edit Page 链接。

 

3.

在 Items 下,选择 P_PHOTO 链接。

 

4.

选择 Source 选项卡。

 

5.

单击 BLOB Download Format Mask 链接。

 

6.

为了从数据库中读取该信息,为 MIMETYPE Column 输入 MIMETYPE,为 FILENAME Column 输入 FILENAME,为 BLOB Last Updated Column 输入 LAST_UPDATE_DATE。为 Content Disposition 选择 Attachment,保留默认的 Download Link Text 为 Download,单击 Apply

 

7.

注意 Source value or expression 如何根据您刚刚提供的输入进行更改。单击 Apply Changes

 

8.

单击 Run Page

 

9.

要在数据库中填充 MIMETYPE、FILENAME 和 LAST_UPDATE_DATE,您需要重新上载文件。单击 Browse... 选择文件(本例中为 dog.gif),然后单击 Open

 

10.

单击 Apply Changes

 

11.

选择包含 Download 链接的行旁边的 Edit 图标。

 

12.

单击 Download 链接。

 

13.

注意,现在对话框中已指定了文件名。该对话框还将使用从 MIMETYPE 识别的程序将文件作为附件打开。单击 OK

 

14.

文件在一个单独的窗口中打开。关闭窗口。

 

15.

您将更改 Content Disposition 以查看不选择 attachment 而选择 inline 将发生什么。单击 Edit Page

 

16.

在 Items 下,单击 P_PHOTO

 

17.

在 Source 下,单击 BLOB Download Format Mask 链接。

 

18.

将 Content Disposition 更改为 Inline,然后单击 Apply

 

19.

单击 Apply Changes

 

20.

单击 Run Page

 

21.

单击 Download 链接。

 

22.

注意,现在图像显示在浏览器中(内嵌)。要返回表单,单击浏览器中的 Back 按钮。

 

23.

在下一部分中,您将进行必要的更改以从报表内显示图像。单击 Apply Changes

 

返回主题列表

在报表中查看 BLOB 数据

在本部分中,您将进行必要的更改以通过不同方式在报表内查看 BLOB 列。执行以下步骤:

1.

单击开发人员工具栏中的 Edit Page 链接。

 

2.

在 Regions 下,选择 Report 链接。

 

3.

选择 PHOTO 前面的 Edit 图标。

 

4.

在 Column Formatting 下,注意 BLOB 的某些参数已经显示。选择 BLOB Download Format Mask 链接。

 

5.

为 MIMETYPE Column 输入 MIMETYPE,为 FILENAME Column 输入 FILENAME,为 BLOB Last Updated Column 输入 LAST_UPDATE_DATE。注意 Content Disposition 设置为 Inline。单击 Apply

 

6.

单击 Apply Changes

 

7.

单击 Run Page

 

8.

选择 Download 链接。

 

9.

注意图像的显示方式是内嵌在浏览器中。单击浏览器中的 Back 按钮返回报表。注意 content disposition 设置为 attachment 与在表单中的显示方式相同,因此您不必再检查该选项。

 

10.

单击 Edit Page

 

11.

在 Regions 下,选择 Report 链接。

 

12.

选择 PHOTO 的 Edit 图标。

 

13.

在 Column Formatting 下,选择 BLOB Download Format Mask 链接。

 

14.

将 Format Mask 更改为 IMAGE 并单击 Apply

 

15.

单击 Apply Changes

 

16.

单击 Run Page

 

17.

注意,这一次图像直接插入报表本身。

注:要修改图像的显示属性(即,使其变小),您需要使用包含图像的编程方式。请参阅位于 http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/api.htm#CHDICGDA 的文档。

 

返回主题列表

总结

在本教程中,您学习了如何:

 更改表以添加 BLOB 数据
 创建一个带报表的表单以包含 BLOB 列
 在表单和报表中查看 BLOB 数据

返回主题列表

相关信息

要了解有关 Application Express 的更多信息,您可以查看以下内容:

相关文档

说明

联机帮助

要访问该帮助,单击 Application Express 右上角处显示的 Help 按钮。搜索感兴趣的主题。

版本说明

这些说明包含 Oracle Application Express 文档中未包括的重要信息。

安装指南

该指南解释了如何安装和配置 Oracle Application Express。

两日以上开发人员指南

该指南向您介绍如何搭建一个开发环境或者访问一个与该指南一起使用的托管演示环境。然后将引导您构建一个最初的应用程序,对其进行修改并进行预览。

用户指南

该指南描述了如何使用 Oracle Application Express 开发环境构建和部署以数据库为中心的 Web 应用程序。通过使多个工作组能够构建和访问应用程序(如同它们在独立的数据库中运行),Oracle Application Express 将单个 Oracle 数据库转换为共享的服务。

高级教程

包含了分步指南的教程,介绍如何使用 Oracle Application Express 开发环境创建各种应用程序组件和整个应用程序。

返回主题列表

 

 将鼠标置于该图标上可以隐藏所有的屏幕截图。

false ,,,,,,,,,,,,,,,,