8.10 フォームおよびレポートでのBLOBサポートの理解
Oracle Application Expressでは、宣言的なBLOBサポートが提供されているため、開発者はフォームでのファイルの宣言的なアップロードや、レポートでのファイルのダウンロードおよび表示を行うことができます。
BLOBの表示とダウンロードは、PL/SQLを使用して手続き的に作成することもできます。このセクションでは、ファイルのアップロード、ダウンロードおよび表示を行う方法と、BLOB列に格納されているファイルを正しく管理するために重要となる追加のファイル属性(MIMEタイプやファイル名など)の管理方法について説明します。この機能を使用すると、簡単にOracle Application Expressアプリケーションを拡張して、イメージ、ドキュメント、ビデオなどのファイルを管理できます。
8.10.1 レポートでのBLOBサポートについて
Oracle Application Expressでは、従来のレポートと対話モード・レポートの両方に対するBLOBサポートが提供されています。ウィザードを使用してレポートを作成し、BLOBタイプの列を含める場合は、基本的なサポートが含まれます。ダウンロード機能を使いやすくするために、生成後に詳細情報を追加する必要があります。
親トピック: フォームおよびレポートでのBLOBサポートの理解
8.10.2 ダウンロード・リンクの提供について
レポートにダウンロード・リンクを容易に含めることができるように、レポートにはBLOBの長さ( dbms_lob.getlength(RESUME)など)を選択します。長さが0の場合、BLOBはNULLとなり、ダウンロード・リンクは表示されません。同様に、ダウンロード・リンクの書式を設定できる、日付または数に対する書式マスクを指定します。DOWNLOAD書式は、次の例のように3つ以上のパラメータを指定する必要があるという点で他の書式マスクより複雑です。
DOWNLOAD:EMP:RESUME:EMPNO
次の表は、DOWNLOAD書式のパラメータについて説明します。
| 位置 | 属性 | 必須 | 説明 |
|---|---|---|---|
|
1 |
DOWNLOAD |
はい |
DOWNLOADレポート書式マスクを指定します。 |
|
2 |
表名 |
はい |
|
|
3 |
BLOBを含む列 |
はい |
|
|
4 |
主キー列1 |
はい |
主キー列1の名前。大文字と小文字が区別されます。 |
|
5 |
主キー列2 |
いいえ |
主キー列2の名前。大文字と小文字が区別されます。 |
|
6 |
MIMEタイプ列 |
いいえ |
|
|
7 |
ファイル名列 |
いいえ |
|
|
8 |
最終更新列 |
いいえ |
|
|
9 |
文字セット列 |
いいえ |
|
|
10 |
コンテンツ配置 |
いいえ |
|
|
11 |
ダウンロード・テキスト |
いいえ |
ダウンロード・リンクに使用する文字列。何も指定されていない場合は、 |
|
12 |
表所有者 |
はい |
BLOBタイプのターゲット列を含む表所有者の名前を識別します。 |
次に例を示します。
DOWNLOAD:EMP:RESUME:EMPNO::RESUME_MIMETYPE:RESUME_FILENAME:RESUME_LAST_UPDATE::attachment:Resume
上述の説明に従い、これらのパラメータを入力し、形式を作成します。「数値/日付書式」アイテムには、「BLOBフォーマット」を選択する必要があります。選択すると、BLOB列属性リージョンが表示され、前述のすべてのパラメータを入力できます。
親トピック: フォームおよびレポートでのBLOBサポートの理解
8.10.3 BLOBの表示について
作業中のBLOBがイメージである場合は、新しいIMAGEレポート書式マスクを使用してレポートに表示できます。MIMEタイプに関係なく、レポートでは常にBLOBの表示が試行されます。BLOBのレンダリングを行うことができない場合は、壊れたイメージが表示されます。
次の表は、IMAGE書式マスクのパラメータについて説明します。
| 位置 | 属性 | 必須 | 説明 |
|---|---|---|---|
|
1 |
IMAGE |
はい |
IMAGEレポート書式マスクを指定します。 |
|
2 |
表名 |
はい |
|
|
3 |
BLOBを含む列 |
はい |
|
|
4 |
主キー列1 |
はい |
主キー列1の名前。大文字と小文字が区別されます。 |
|
5 |
主キー列2 |
いいえ |
主キー列2の名前。大文字と小文字が区別されます。 |
|
6 |
MIMEタイプ列 |
いいえ |
|
|
7 |
ファイル名列 |
いいえ |
IMAGE書式には使用しませんが、IMAGEとDOWNLOAD間で書式を簡単に変更する場合に必要です。 |
|
8 |
最終更新列 |
いいえ |
|
|
9 |
文字セット列 |
いいえ |
IMAGE書式には使用しませんが、IMAGEとDOWNLOAD間で書式を簡単に変更する場合に必要です。 |
|
10 |
コンテンツ配置 |
いいえ |
IMAGE書式には使用しませんが、IMAGEとDOWNLOAD間で書式を簡単に変更する場合に必要です。 |
|
11 |
代替テキスト |
いいえ |
イメージに関連付けられている代替タグに使用する文字列です。 |
|
12 |
表所有者 |
はい |
BLOBタイプのターゲット列を含む表所有者の名前を識別します。 |
次に例を示します。
IMAGE:EMP:RESUME:EMPNO::RESUME_MIMETYPE:RESUME_FILENAME:RESUME_LAST_UPDATE::attachment:Resume
上述の説明に従い、これらのパラメータを入力し、形式を作成します。「数値/日付書式」アイテムには、「BLOBフォーマット」を選択する必要があります。選択すると、新しいリージョンのBLOB列属性が表示され、上述の説明に従って、すべてのパラメータを記入できます。
親トピック: フォームおよびレポートでのBLOBサポートの理解
8.10.4 手続き的なBLOBの使用について
ダウンロード・リンクを指定した組込み方式を使用するかわりに、APEX_UTIL.GET_BLOB_FILE_SRCファンクションを使用できます。この方法を使用すると、イメージの表示形式をより具体的に設定できます(高さタグおよび幅タグを使用)。この方法は、有効なOracle Application Expressセッションからコールされた場合にのみ有効です。また、BLOBを記述するパラメータを、アプリケーション内の有効なアイテムの書式としてリストする必要もあります。この項目は後でファンクションが参照します。
親トピック: フォームおよびレポートでのBLOBサポートの理解